今天由于项目需求的原因, 需要把原来的ViewPager的长方形图片转成圆角图片.
一直觉得Glide很强大, 应该可以直接设置圆角图片, 但是输入 . 之后并没有找到这个方法, 顿时一大片问号飘过 !!!
下面来说说遇到的问题:
1. 之前Glide 3.0+ 都是直接Glide. 点点点就行了, 现在升级到Glide 4.0+, 需要把这些配置全部写在RequestOptions这个方法里.
例如:
dontAnimate() //去掉动画, skipMemoryCache() //不使用缓存等
配置好后, 需要在Glide使用apply(options)方法
例如:
Glide.with(mContext) .load(url) .apply(options) .into(imageView);
2. 既然是要设置圆角, 那么肯定是要自己自定义来写了, 因此需要自己写个类继承 BitmapTransformation, 然后重写其中两个方法.
上代码:
注意: 注释部分一定要注意 !!!
自己搜到的基本是这些代码, 也显示圆角图片了, 但是又出现了一个新的问题.
3. Glide加载圆角图片, 第一张图片会闪烁 !!!
很无语!
一直认为Glide很强大, 肯定有设置圆角的方法, 经过一段时间的源码查找, 还真找到了 -->
使用了这句代码, 运行了还真没闪烁, 点击去源码看了一下, 主要是这些区别:
仿照源码写了一下, 加进去, 运行果然没有闪烁, 很开森!!!
具体什么原因, 还没有研究出来, 很悲哀.
虽然不知道什么原因, 功能解决了, 还是可以了, 特此记录一下.