如何在Glide中向GenericRequestBuilder添加交叉淡化动画

时间:2015-05-06 15:30:20

标签: java android android-glide

我使用此构建器加载图像

Glide.with(ctx)
    .using(new FileModelLoader(downlaoder), FilePath.class)
    .from(FileReference.class)
    .as(Bitmap.class)
    .decoder(new FilePathDecoder(ctx))
    .diskCacheStrategy(DiskCacheStrategy.NONE);

问题是:没有交叉淡入淡出动画。 那我怎么回来呢?

我需要一个自定义的ResourceDecoder,因为对于某些模型,我必须加载带有透明度的webp,这在所有Android版本上都不受支持。

所以我的问题是如何将crossfadeAnimation返回给我的GenericRequestBuilder?

1 个答案:

答案 0 :(得分:5)

不幸的是,没有内置的方法来交叉淡入淡出的位图。但是,您可以使用自定义BitmapImageViewTarget,并使用onResourceReady()中的TransitionDrawable来淡入淡出。如果您想在缓存资源时避免应用交叉淡入淡出,您也可以在RequestListener onResourceReady中执行相同操作,这将为您提供该信息。

Glide用于apply cross fades internally的代码也可能有所帮助。

此外,由于TransitionDrawable仅适用于Drawables,因此您需要先将Bitmap包裹在BitmapDrawable中。