Android Glide加载图片圆角效果与ImageView的ScaleType冲突问题

在imageVIew显示图片的时候一般是使用

android:scaleType="centerCrop"

来让图片不被变形显示。但是如果现在用Glide来加载图片并给它转化出一个圆角

                        .transform(new GlideRoundTransform(getContext(), 2))

就会发现,在第一次加载图片的时候是有圆角的,但是第二次加载缓存图片的时候,就会按照ImageView的scapeType来,就没有圆角了。这时候:
1、ImageView就直接设为FitXY,牺牲一下图片的展示效果当保留UI给出的圆角
2、就得探索一下Glide的转换部分来完整实现效果了。

解决

Glide提供转换的方法是可以加载多重转换的:
Android Glide加载图片圆角效果与ImageView的ScaleType冲突问题_第1张图片
所以在这里我们可以试一下把图片的ScaleType模式统一在这个修改。

 Glide.with(getContext())
                        .load(data.getThumb_image_url())
                        .placeholder(R.drawable.list_holder)
                        .error(R.drawable.list_holder)
                        .transform(new CenterCrop(getContext()), new GlideRoundTransform(getContext(), 2))
                        .into(pic);

利用多重转换就能解决这个问题了。

你可能感兴趣的:(android)