Glide配合CircleImageView加载圆形图片的巨坑

本篇本章讲述的是Gllide配合CircleImageView加载圆形图片的问题

注明: 本文属于原创,转发请标注说明转文地址

Glide是Google推荐的图片加载库,优缺点这里我们不一一讲解,有需要的同学可以自行百度,或者各大博客阅览学习.

回到正文: 在Glide4.0以前 我们还不能使用的Glide 自带的圆形图片加载库, 很多时候我们只能配合CircleImageView来实现圆形图片的加载,那时候我们可能对Glide还不是很熟悉,所以配合自定义控件遇到的一些奇怪问题,我们还尚不能彻底分析,解决.

如上图所示, 当我们第一次进入页面,圆形图片默认加载了占位图(其实后面我才发现这其实是CircleImageView率先占了位置!!!),妈卖批~ 什 么鬼 往下刷新一下又出来了? 网络问题么?

刚开始产品找到我:"路遥,这个你看下,怎么第一次进来,加载是的默认图片,有的显示的是可以的 有的不行,我再次刷新又显示了"

我微微一笑 : "啊~这个...可能是网络问题...哈哈 就这样把锅甩了出去,不过讲真的,那时我自己都以为是网络加载的问题"

后来我发现很多小伙伴也遇到了这样的问题,所以才自己抽空深入了解下并且找到解决方案.

不可行方案:

1:网上很多小伙伴说直接把占位图直接注释掉~不使用占位图

这个方案实在不可行,我们不单单说能不能再特殊情况下会解决问题,就说在网络加载失败的情况下,或者是网络加载延迟情况下,加载出来的图片是一张透明的圆形图片,亲测...显然这样的体验是对我们和用户不是友好的.....

2:不使用默认动画

其实 dontAnimate() 这个在加载本地图片 和网络延迟的情况下 是没有任何效果的.....

以上这些都不是终极解决的方案 或者说是错误的方案..那么我们该如何解决这个问题呢

Glide 4.0后 自带加载圆形图片功能

这里我们会使用到 BitmapTransformation 有兴趣的小伙伴可以去了解下~

上图就是Glide 自带圆形图片使用方法~ 我们可以通过自定义Transformation 可以改变圆角大小,来实现不同的圆形图片效果~ 然后把它封装成公共类 便于使用.

所以还有之前问题的小伙伴 尽快把Glide升级到4.0以上 替换CircleImageView吧! 和CircleImageView说拜拜~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值