解决Glide加载图片闪烁的问题(感觉加载了两遍 !!!)

今天由于项目需求的原因, 需要把原来的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很强大, 肯定有设置圆角的方法,  经过一段时间的源码查找,  还真找到了 --> 

new RoundedCorners(16); //就是那么简单,  这个鬼难找

使用了这句代码, 运行了还真没闪烁, 点击去源码看了一下, 主要是这些区别:

仿照源码写了一下, 加进去, 运行果然没有闪烁, 很开森!!!

具体什么原因, 还没有研究出来, 很悲哀.

虽然不知道什么原因, 功能解决了, 还是可以了, 特此记录一下.

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值