一、加载网络图片Glide+圆角

1、添加网络请求。

    <!-- 添加权限 --><uses-permission android:name="android.permission.INTERNET" />
  android:usesCleartextTraffic="true"

2、添加依赖包。

   //第三方框架依赖包 glideimplementation 'com.github.bumptech.glide:glide:4.13.0'annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0'

3、加载网络图片。

        //添加网络请求 有一些功能需要添加请求//加载网络图片  android本身不能加载网络 -->第三方框架 GlideGlide.with(this).load("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg9.51tietu.net%2Fpic%2F2019-091023%2Fhrhi1fi1vhbhrhi1fi1vhb.jpg&refer=http%3A%2F%2Fimg9.51tietu.net&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1651385943&t=17ca45a3845f9ac162a05b133dd455e1").into(view);//显示圆形图片
//        Glide.with(this)
//                .load("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg9.51tietu.net%2Fpic%2F2019-091023%2Fhrhi1fi1vhbhrhi1fi1vhb.jpg&refer=http%3A%2F%2Fimg9.51tietu.net&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1651385943&t=17ca45a3845f9ac162a05b133dd455e1")
//                .apply(RequestOptions.bitmapTransform(new CircleCrop()))
//                .into(iv1);//        //显示圆角图片
//        Glide.with(this)
//                .load("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg9.51tietu.net%2Fpic%2F2019-091023%2Fhrhi1fi1vhbhrhi1fi1vhb.jpg&refer=http%3A%2F%2Fimg9.51tietu.net&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1651385943&t=17ca45a3845f9ac162a05b133dd455e1")
//                .apply(RequestOptions.bitmapTransform(new RoundedCorners(60)))
//                .into(view);

二、fragment的动态添加。

1、创建待添加的碎片实例。

2、获取FragmentManager,在活动中可以直接通过调用getSupportFragmentManager()方法得到。

3、开启一个事务、通过调用beginTransaction()方法开启。

4、向容器中添加或替换碎片。

5、提交事务,调用commit()方法来完成。

        //加载fragment,第一个参数是activity给fragment的约束布局id,第二个是new的fragment的对象或者说fragment的引用//replace 每执行一次会创建一个新的fragmentgetSupportFragmentManager().beginTransaction().add(R.id.fragment,blankFragment1).commit();getSupportFragmentManager().beginTransaction().add(R.id.fragment,blankFragment2).commit();getSupportFragmentManager().beginTransaction().add(R.id.fragment,blankFragment3).commit();//设置显示getSupportFragmentManager().beginTransaction().show(blankFragment1).hide(blankFragment2).hide(blankFragment3).commit();ConstraintLayout btn1=findViewById(R.id.cl1);btn1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {getSupportFragmentManager().beginTransaction().show(blankFragment1).hide(blankFragment2).hide(blankFragment3).commit();}});

三、底部图标点击选中。

最关键的是创建xml文件。设置选中或者未选中显示。要准备两份素材。

这是其中一个xml文件。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/contact_select" android:state_selected="true" /><item android:drawable="@drawable/contact_unselect" android:state_selected="false" />
</selector>

 activity的layout布局里调用这个xml文件。

 android:background="@drawable/contact"

活动里拿控件引用。设置显示。

  btn1.setSelected(true);btn2.setSelected(false);btn3.setSelected(false);

activity_main主布局代码。

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/fragment"android:layout_width="match_parent"android:layout_height="0dp"app:layout_constraintBottom_toTopOf="@id/con1"app:layout_constraintTop_toTopOf="parent" /><ImageViewandroid:id="@+id/ad"android:layout_width="wrap_content"android:layout_height="wrap_content"tools:ignore="MissingConstraints" /><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/con1"android:layout_width="match_parent"android:layout_height="80dp"app:layout_constraintBottom_toBottomOf="parent"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/cl1"android:layout_width="0dp"android:layout_height="80dp"android:background="@color/purple_200"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toStartOf="@+id/cl2"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"><ImageViewandroid:id="@+id/image1"android:layout_width="50dp"android:layout_height="50dp"android:background="@drawable/contact"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><TextViewandroid:id="@+id/text1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="联系人"android:textColor="@color/white"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.527"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/image1" /></androidx.constraintlayout.widget.ConstraintLayout><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/cl2"android:layout_width="0dp"android:layout_height="80dp"android:background="@color/purple_200"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toStartOf="@+id/cl3"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cl1"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="1.0"><ImageViewandroid:id="@+id/image2"android:layout_width="50dp"android:layout_height="50dp"android:background="@drawable/message"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><TextViewandroid:id="@+id/text2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="消息"android:textColor="@color/white"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.527"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/image2" /></androidx.constraintlayout.widget.ConstraintLayout><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/cl3"android:layout_width="0dp"android:layout_height="80dp"android:background="@color/purple_200"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.5"app:layout_constraintStart_toEndOf="@+id/cl2"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="1.0"><ImageViewandroid:id="@+id/image3"android:layout_width="50dp"android:layout_height="50dp"android:background="@drawable/dongtai"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><TextViewandroid:id="@+id/text3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="动态"android:textColor="@color/white"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.527"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/image3" /></androidx.constraintlayout.widget.ConstraintLayout></androidx.constraintlayout.widget.ConstraintLayout></androidx.constraintlayout.widget.ConstraintLayout>

Maintivity代码。

package com.hnucm.fragment;import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions;public class MainActivity extends AppCompatActivity {BlankFragment blankFragment=new BlankFragment();BlankFragment1 blankFragment1=new BlankFragment1();BlankFragment2 blankFragment2=new BlankFragment2();BlankFragment3 blankFragment3=new BlankFragment3();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ImageView view =findViewById(R.id.ad);//添加网络请求 有一些功能需要添加请求//加载网络图片  android本身不能加载网络 -->第三方框架 GlideGlide.with(this).load("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg9.51tietu.net%2Fpic%2F2019-091023%2Fhrhi1fi1vhbhrhi1fi1vhb.jpg&refer=http%3A%2F%2Fimg9.51tietu.net&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1651385943&t=17ca45a3845f9ac162a05b133dd455e1").into(view);//显示圆形图片
//        Glide.with(this)
//                .load("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg9.51tietu.net%2Fpic%2F2019-091023%2Fhrhi1fi1vhbhrhi1fi1vhb.jpg&refer=http%3A%2F%2Fimg9.51tietu.net&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1651385943&t=17ca45a3845f9ac162a05b133dd455e1")
//                .apply(RequestOptions.bitmapTransform(new CircleCrop()))
//                .into(iv1);//        //显示圆角图片
//        Glide.with(this)
//                .load("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg9.51tietu.net%2Fpic%2F2019-091023%2Fhrhi1fi1vhbhrhi1fi1vhb.jpg&refer=http%3A%2F%2Fimg9.51tietu.net&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1651385943&t=17ca45a3845f9ac162a05b133dd455e1")
//                .apply(RequestOptions.bitmapTransform(new RoundedCorners(60)))
//                .into(view);//加载fragment,第一个参数是activity给fragment的约束布局id,第二个是new的fragment的对象或者说fragment的引用//replace 每执行一次会创建一个新的fragmentgetSupportFragmentManager().beginTransaction().add(R.id.fragment,blankFragment1).commit();getSupportFragmentManager().beginTransaction().add(R.id.fragment,blankFragment2).commit();getSupportFragmentManager().beginTransaction().add(R.id.fragment,blankFragment3).commit();//设置显示getSupportFragmentManager().beginTransaction().show(blankFragment1).hide(blankFragment2).hide(blankFragment3).commit();ConstraintLayout btn1=findViewById(R.id.cl1);ConstraintLayout btn2=findViewById(R.id.cl2);ConstraintLayout btn3=findViewById(R.id.cl3);btn1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {getSupportFragmentManager().beginTransaction().show(blankFragment1).hide(blankFragment2).hide(blankFragment3).commit();btn1.setSelected(true);btn2.setSelected(false);btn3.setSelected(false);}});btn2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {getSupportFragmentManager().beginTransaction().show(blankFragment2).hide(blankFragment1).hide(blankFragment3).commit();btn1.setSelected(false);btn2.setSelected(true);btn3.setSelected(false);}});btn3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {getSupportFragmentManager().beginTransaction().show(blankFragment3).hide(blankFragment2).hide(blankFragment1).commit();btn1.setSelected(false);btn2.setSelected(false);btn3.setSelected(true);}});}
}

加载网络图片Glide+圆角 fragment的动态添加 底部图标点击选中相关推荐

  1. Android开发笔记(一百七十一)使用Glide加载网络图片

    如何方便而又快速地显示网络图片,一直是安卓网络编程的热门课题,前些年图片缓存框架Picasso.Fresco等等大行其道,以至于谷歌按捺不住也开发了自己的Glide开源库.由于Android本身就是谷 ...

  2. android 以音频播放器为例实现通知栏显示通知,并实现切歌、暂停、播放,并实现加载网络图片,并实现关闭第三方APP音频

    首先先给大家看下效果 接下来我们看下具体如何实施 1.首先我们创建一个音频的单例对象,这样能保证每次在播放的的音频是唯一的(类名如:MediaPlayerUtil.java) package xxx; ...

  3. UnityWebRequest 加载网络图片当作贴图给物体

    一.用UnityWebRequest加载网络图片并且当作Sprite给Image和贴图给3D物体 二.代码 using System.Collections; using System.Collect ...

  4. Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide开源组件加载网络图片的优缺点比较...

    在android中的加载网络图片是一件十分令人头疼的事情,在网上有着许多关于加载网络图片的开源库,可以让我们十分方便的加载网络图片.在这里我主要介绍一下我自己在使用Volley, Picasso, U ...

  5. Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide五大Android开源组件加载网络图片的优缺点比较

    在android中的加载网络图片是一件十分令人头疼的事情,在网上有着许多关于加载网络图片的开源库,可以让我们十分方便的加载网络图片.在这里我主要介绍一下我自己在使用Volley, Picasso, U ...

  6. android listview动态加载网络图片不显示,Android Listview异步动态加载网络图片

    Android Listview异步动态加载网络图片 详见: http://blog.sina.com.cn/s/blog_62186b460100zsvb.html 标签: Android SDK ...

  7. 妹子图APP(一)—— Retrofit+Glide+Gson加载网络图片

    网络请求:Retrofit    地址: https://github.com/square/retrofit 图片加载:Glide       地址: https://github.com/bump ...

  8. swift 4 tableViewCell动态加载网络图片问题处理

    1. 很多APP都会涉及到资讯或帖子或主题详情页的界面,其中就涉及到cell加载网络图片的开发问题. 2. 最容易想到的思路就是把URL直接传递给cell,让cell的imageView控件直接使用S ...

  9. Glide 加载网络图片,图片地址不变,图片字段变更时,图片不加载的问题。

    业务场景: 移动端需要进行图片分享,该图片由后端处理好,返回url地址供移动端加载使用,每次在页面中点击分享,加载对应参数拼接的图片地址,可是在同一参数,获取不同结果时,图片地址不变,图片内容数据却在 ...

最新文章

  1. CTO让我研究中台(一):阿里的“数据+业务”双中台架构
  2. poj 2492A Bug's Life(并查集)
  3. ubuntu rar文件乱码
  4. 【C语言】接收字符,大小写字符相互转换后输出,数字不输出
  5. Objective-C中常用转义字符
  6. ThinkPHP采用模块和操作
  7. 用WebCollector爬取新浪微博数据
  8. 中科大计算机是一流学科吗,安徽2017双一流学科排行榜:中国科技大学第一
  9. C#中IEnumerable.OfType()方法的简单使用
  10. MySQL(2)--MYSQL 安装
  11. python 自动登录网站_分析某网站,并利用python自动登陆该网站,下载网站内容...
  12. 根据开始日期和结束日期获取基金的当天净值,并计算收益率
  13. 一篇讲完Java链表(单链表、循环链表和双向链表)
  14. 2022-2028年中国商用车产业园区行业市场竞争态势及未来前景分析报告
  15. 什么地图可以室内导航?室内导航技术发展趋势
  16. HTML头部文档相关标记,html头部基本标记详解
  17. linux服务器实现AD域认证,Linux下用户启用Windows AD做集中认证
  18. CorelDRAW制作360安全浏览器图标
  19. 第五章:3ds max UV展开和BP贴图绘制(下)
  20. 样本方差为何除以n-1而不是n?

热门文章

  1. xp系统禁用wmi服务器,xp中哪些服务是可以关闭的
  2. 发卡小程序源码,自动发卡小程序
  3. C语言例题:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
  4. hook(2)Activity启动流程,涨知识
  5. 百度地图 JavaScript API
  6. XiaoHu日志 6/3~6/5
  7. 什么是AAC音频格式 AAC-LC 和 AAC-HE的区别是什么
  8. lol更新显示正在连接服务器,lol提示无法连接服务器请检查你的网络并重新连接的解决方法...
  9. 1024分辨率《X战警:第一战》BD中英双字无水印
  10. python分行输入_python换行输入