解决 Glide 在 ImageView 上更换图片地址会闪烁的问题
Android 开发中常用的图片工具就是 Glide。
在使用 Glide 加载完图片后,如果更换图片地址,有时会出现图片闪一下然后才会显示新的图源。
有两种方法科技拒绝这个问题。
使用 Glide 自带的方法两步解决这个问题。
1,使用 dontAnimate 取消图片切换动画
2、使用placeholder将之前的图片作为占位
这样切换的过程就是顺滑的
完整代码如下:
Glide.with(context)
.load(resourceId)
.placeholder(image.getDrawable())
.dontAnimate()
.centerCrop()
.into(image);
Glide 的常用方法介绍:
▪ .with() 图片加载的环境:1,Context对象。2,Activity对象。3,FragmentActivity对象。4,Fragment对象
▪ .load() 加载资源:1,drawable资源。2,本地File文件。3,uri。4,网络图片url。5,byte数组(可以直接加载GIF图片)
▪ .placeholder() 图片占位符
▪ .error() 图片加载失败时显示
▪ .crossFade() 显示图片时执行淡入淡出的动画默认300ms
▪ .dontAnimate() 不执行显示图片时的动画
▪ .override() 设置图片的大小
▪ .centerCrop() 和 fitCenter() 图片的显示方式
▪ .animate() view动画 2个重构方法
▪ .transform() bitmap转换
▪ .bitmapTransform() bitmap转换。比如旋转,放大缩小,高斯模糊等(当用了转换后你就不能使用.centerCrop()或.fitCenter()了。)
▪ .priority(Priority.HIGH) 当前线程的优先级
▪ .signature(new StringSignature(“ssss”))
▪ .thumbnail(0.1f) 缩略图,3个重构方法:优先显示原始图片的百分比(10%)
▪ .listener() 异常监听
▪ .into() 图片加载完成后进行的处理:1,ImageView对象。2,宽高值。3,Target对象
我的笔记