我正在使用Picasso和RoundedTransformation class将圆角应用于我用Picasso加载的图像。相关代码如下:
Transformation transformation = new RoundedTransformationBuilder()
.cornerRadiusDp(4)
.oval(false)
.build();
ImageView cardViewTop1Image = (ImageView) cardViewTop1.findViewById(R.id.cv_top1_image);
Picasso.with(cardViewTop1.getContext()).load("http:/some_image_url.com")
.fit().centerCrop()
.transform(transformation).into(cardViewTop1Image);
这一切都很有效,直到我进行两次方向更改 - 首先是水平方向,然后是垂直方向。当我切换回垂直方向时,不再应用圆角变换。
我相信Picasso正在缓存未转换的图像,然后用它填充ImageView。有没有办法可以缓存转换后的图像或从缓存加载未转换的图像,然后应用转换?谢谢你的帮助!
答案 0 :(得分:0)
尝试使用此方法停止缓存。
Picasso.with(yourContext)
.load(yourUrl)
.memoryPolicy(MemoryPolicy.NO_CACHE )
.networkPolicy(NetworkPolicy.NO_CACHE)
.fit()
.centerCrop()
.transform(yourTransformation)
.into(yourImageView);
或尝试其他转型。我使用这个https://gist.github.com/aprock/6213395。