glide加载图片设置到circleimageview时,会出现只显示默认图片的问题,代码如下

Glide.with(context).load(BicDroidApiConstant.BASEURL + "/" + bean.getImagePath()).placeholder(R.drawable.defaultusericon_1).into(vh.userIcon);

去掉placeholder(R.drawable.defaultusericon_1)后可正常显示, vh.userIcon 是 circleimageview。

解决办法(使用glide本身的圆形图标加载方式):(注意,这里面的 vh.userIcon就是普通的imageview,不是circleimageview)

Glide.with(context).load(imgUrl).asBitmap().centerCrop().placeholder(R.drawable.defaultusericon_1).into(new BitmapImageViewTarget(vh.userIcon) {
                @Override
                protected void setResource(Bitmap resource) {
                    RoundedBitmapDrawable circularBitmapDrawable =
                            RoundedBitmapDrawableFactory.create(context.getResources(), resource);
                    circularBitmapDrawable.setCircular(true);
                    vh.userIcon.setImageDrawable(circularBitmapDrawable);
                }
            });

 使用glide设置圆形图标后,如果不设置缩放方式centerCrop(),会发现实际显示图片比默认图片要小,可能时由于glide缓存尺寸的问题。

在实际开发中的效果就是,设置placeholder(R.drawable.defaultusericon_1)后,从默认图标到原图显示有个过程,会发现切换为原图时图标变小了。

相关文章:

  • 2022-01-19
  • 2021-09-26
  • 2021-08-21
  • 2021-05-19
  • 2021-07-08
  • 2021-07-15
  • 2021-05-27
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-12-19
  • 2021-05-19
  • 2021-10-19
  • 2022-12-23
  • 2021-12-02
相关资源
相似解决方案