Glide 加载圆角图片,解决多次刷新周围出现黑边问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011974987/article/details/80838354

现象:

使用 Glide 自带的

.transform(new RoundedCorners(15)).into(iv);

去加载圆角图片,并且设置了占位图,第一次加载并没有什么问题,当多次下拉刷新时,就会出现圆角周围出现黑边的现象,Glide 加载代码:

    /**
     * 加载圆角图片
     *
     * @param context  context
     * @param iv       imageView
     * @param url      图片地址
     * @param emptyImg 默认展位图
     */
    public static void loadRoundImage(Context context, ImageView iv, String url, int emptyImg) {
        if (!TextUtils.isEmpty(url)) {
            GlideApp.with(context)
                    .load(url)
                    .error(emptyImg)
                    .placeholder(iv.getDrawable())
                     .diskCacheStrategy(DiskCacheStrategy.ALL)
                    .transition(new DrawableTransitionOptions().crossFade())
                    .transform(new RoundedCorners(15)).into(iv);
        } else {
            loadRoundImage(context, iv, emptyImg, emptyImg);
        }
    }

黑边截图:

看,右下角那张图片四个角出现了黑边,起初以为是 Glide 加载图片默认缓存的原因,后来跳过缓存还是出现了黑边现象,Adapter 在加载图片的时候也设置了 tag,然后判断 tag 等等都没用。

最终方案:

很简单,把占位图去掉就OK 了。

.placeholder(iv.getDrawable())

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试