我在我的应用程序中使用 Fresco 来下载和显示 Gif。当用户点击图片时,我希望将其保存到sd卡中,但我不知道如何操作。
final View view = inflater.inflate(R.layout.fragment_gif_viewer, container, false);
SimpleDraweeView draweeView = (SimpleDraweeView) view.findViewById(R.id.image);
Uri uri = Uri.parse(imageUrl);
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setUri(uri)
.setAutoPlayAnimations(true)
.build();
draweeView.setController(controller);
draweeView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Save the gif to /sdcard/test.gif
}
});
我按照如何将ImageView保存为图像的指示尝试从SimpleDraweeView中获取位图,但是它的getDrawingCache()
返回null。
getMainFileCache()
而不是getMainDiskStorageCache()
。这将返回整个缓存。但是,这将为您提供存储在Fresco缓存中的文件,而不是可以显示的文件。 - pranavrao1