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


  • 2019-06-24 06:22:10

    Android RecyclerView嵌套的滑动冲突问题

    这是一个简单的recyclerView嵌套recyclerView的demo, 很明显,子布局应该也是可以滑动的才对,但你滑动子布局却是父布局在滑动 这就是滑动冲突

  • 2019-07-02 21:55:47

    Nginx出现500 Internal Server Error 错误的解决方案

    Nginx 500错误(Internal Server Error 内部服务器错误):500错误指的是服务器内部错误,也就是服务器遇到意外情况,而无法履行请求。 在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据测试结果,Nginx 0.6.31 + PHP 5.2.6 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。