使用Picasso改变方向后不应用图像转换

时间:2015-01-07 00:42:28

标签: android picasso

我正在使用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。有没有办法可以缓存转换后的图像或从缓存加载未转换的图像,然后应用转换?谢谢你的帮助!

1 个答案:

答案 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