Glide placeholder 圆角失效

2018-10-09 23:10:54


解决办法,一种是不使用占位符,另外一种则是不使用默认动画。

我选择了第二种,因为我至今没发现使用默认动画有什么效果。


圆角我是用的第三方控件,加载图片用的是glide。  然而placeholder 会把图片再此撑为直角。


项目之前使用的图片加载库是universal-image-loader,但是此库已经好久不维护了,同时也发现了更加不错的图片加载库,也就是Glide,用起来很方便并且内存占用量还很令人满意,所以决定大刀阔斧的将之前的加载库换成Glide。

但是在换用户头像相关模块的时候发现问题了,就是加载网络图片时第一次加载死活加载不出来,头像控件使用的是CircleImageView,最后换成ImageView试验,发现没有问题,这就找出问题所在了,就是CircleImageView这个控件和Glide之间的关系了。

查找相关资料后,找出问题所在以及解决方案如下:

1、使用Glide默认没有圆角转换的功能,需要使用自定义Transformation,但无法实现placeholder图片的圆角转换,但是圆角图片,使用CircleImageView,虽然CircleImageView继承ImageView,不能使用scaleType参数,否则报InflateException。CircleImageView 源码主动抛出的异常。

2、问题出现的原因就是使用自定义ImageView,如CircleImageView,通过Glide加载网络图片,且设置了占位符,如placeholder或error,则第一次不显示网络图片

3、解决办法有两种,一种是不使用占位符,另外一种则是不使用默认动画。


Glide.with(getContext()).load(imgUrl).dontAnimate()//防止设置placeholder导致第一次不显示网络图片,只显示默认图片的问题.placeholder(R.drawable.icon_default).into(mImageView);

--------------------- 作者:erweimaerweima 来源:CSDN 原文:https://blog.csdn.net/lvshuchangyin/article/details/56670157?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!


  • 2020-02-24 18:43:54

    百度地图JS关于规划路线偏离预警的解决方式

    说实在的这个解决方案有点low,我并不会很赞成,效率有点低。如果多的话,很是耗费资源。 我推荐使用矩形来解决这个问题,而不是圆形。 当日用矩形的话,就要确保轨迹是折线的,而不是弧线等。

  • 2020-02-24 18:45:33

    巧妙解决百度地图加偏纠偏问题

    所谓的加偏,就是将真实坐标加上一定的偏移量,而这个偏移量又不是线性的,不同地区偏移不一样,但同一地区偏移量却差不多,因此,有人就使用了个暴力破解的方法,

  • 2020-02-24 18:48:34

    规划驾车路线和途径点及判断车辆路线偏移

    项目需求需要利用百度地图构建路线并支持设置途径点,以及可以实时监控车辆是否偏移路线;两种方案。 写了比较完整的注释了,替换ak可直接看效果,规划驾车路线和途径点及判断车辆路线偏移

  • 2020-02-25 15:15:56

    nuxtjs全栈

    Nuxt.js 依据 pages 目录结构自动生成 vue-router 模块的路由配置。 要在页面之间使用路由,我们建议使用<nuxt-link> 标签。

  • 2020-02-25 19:24:08

    IDEA 简单的正则匹配

    IDEA在进行查看或替换的时候,勾选Regex 选项就可以进行正则匹配查找了 几个简单实用的正则:

  • 2020-02-26 20:16:49

    一条简单的命令就可以将 stylus 语法转换为 scss 语法

    因为早期有个项目用到了 stylus,stylus 开发起来很爽,但 stylus 基于缩进的代码在修改的时候不是很方便,加上所在团队开发使用的都是 SCSS ,为了便于维护和统一,准备将项目中的 stylus 替换成 SCSS。手动转换 stylus 浪费时间,且出错率大,当时在想也许别人也有这样的需求呢,所以就做了这样一个项目。请各位大佬动动你们发财的小手,给我点个 star,不胜感激。^_^