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 版权声明:本文为博主原创文章,转载请附上博文链接!


  • 2017-11-10 00:06:15

    CORS: credentials mode is 'include'

    XMLHttpRequest cannot load http://localhost/Foo.API/token. The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. Origin 'http://localhost:5000' is therefore not allowed access. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

  • 2017-11-19 00:17:51

    Java如何获取Date的“昨天”与“明天”示例代码

    最近在做项目的时候用到Date和Calendar比较多,而且用到的方式也比较全,突然想到一个问题,Java如何获取Date的"昨天"与"明天",也就是前一天和后一天呢?思考后写出了方法,想着万一以后用到,就总结出来,也方便有需要的朋友们参考借鉴,下面来一起看看吧。

  • 2017-11-23 02:00:51

    js 分页插件twbs-pagination

    ​cdn地址 http://www.bootcdn.cn/twbs-pagination/ 官网地址 可以在cdn地址上面查看到