前言
Glide是谷歌推荐的一个图片加载库
一、使用优点
1.有人维护
2.代码简洁,阅读性好
3.比较小,400多K
二、简单使用
1.进行依赖
implementation 'com.github.bumptech.glide:glide:3.7.0'
2.添加权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
3.具体使用
Glide不需要指定加载图片的格式,Glide内部会自动判断,包括gif动图
**Glide.with(Context) //上下文
.load(url) //加载图片的地址,可以是进制,可以是本地,可以是网络
.placeholder(R.mipmap.sb) //占位图,加载的时候显示的图片,有时候加载图片Glide会把图片缓存下来,看不到占位图
.diskCacheStrategy(DiskCacheStrategy.NONE) //禁用掉Glide的缓存功能,使图片加载的时候显示占位图
.error(R.mipmap.sb) //加载失败后的图片
.asBitmap() //只允许加载静态图片
.asGif() //只允许加载动态图片gif
.override(100,100) //指定图片的大小
.into(iv) //在哪一个控件上面展示**
补充
1.有时候加载大图片,压缩的过大会导致图片显示出现红色绿色的,附上解决此类问题的博客地址!
https://blog.csdn.net/yaphetzhao/article/details/50586991
2.使用Glide4.0以上的版本加载圆角图片:
比如我使用4.9的Glide版本
implementation 'com.github.bumptech.glide:glide:4.9.0'
想要使用圆形图片只需要加入一行代码(.transform),网上找的方法不是不能用就是太复杂:
Glide.with(BaseApp.getInstance().getContext())
.load(mList.get(position))
.transform(new MultiTransformation(new CenterCrop(), new RoundedCorners(15)))
.into(holder.iv_photo);