java - 如何在 Glide 中向 GenericRequestBuilder 添加交叉淡入淡出动画

标签 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?

最佳答案

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

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

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

关于java - 如何在 Glide 中向 GenericRequestBuilder 添加交叉淡入淡出动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30081212/

相关文章:

java - 当前用户的DataSnapshot值为NULL

java - 在java中存储另一个类的数组

android - Activity 中的ImageView全屏

java - Glide v4 中的差异 DiskCacheStrategy

android - Glide 与 okhttp3 集成 java.lang.NoClassDefFoundError

java - 有没有人想出如何使 javafx tableview 像 jtable 一样工作?

流中多个语句的 Java 8 方法引用

java - LinearLayout 放置三个按钮,它们之间的填充相同

java - 使用方法设置一个 int 值

java - 制作更好的 android sqlite 查询