1.前言
最近将Glide3.8升级到4.0,除了使用上有细微的调整,过渡还是很流畅的。但是在替换完,并体验到新特性带来的便利后,测试反馈了个现象,标记为Bug让修复。以下记录分析问题和解决问题的过程,希望对大家有一定的帮助。若有更好的方法,欢迎在评论中指出,大家共同探讨。
2.常见现象
界面很简单就不上图了,大概描述一下。一个横向的RecyclerView中展示一堆Item,每个Item分别包含纵向排布的圆形头像和名字。根据用户的操作,会向其中添加、删除和更新某些或某个Item。由于是对数据操作,肯定得刷新RecyclerView的Adapter。这时,会导致Item先显示底色或占位图,再渐显地加载图像。
Glide.png
由于官方给出说明,有三种圆形ImageView会与Glide的方法产生问题,建议使用BitmapTransformation,或.dontAnimate()取消加载过渡动画,又或者4.0中的.circleCrop()裁剪图像。本人亲测,谷歌官方v4包中的RoundedBitmapDra