如何在 Glide 中的缓存图像上应用动画

Sum*_*kar 8 android android-glide

我想使用 Glide 动画显示图像。我正在从服务器下载此图像。从服务器下载动画时动画运行良好,但从 Glide 缓存中获取图像时动画不起作用

requestOptions.skipMemoryCache(true);
requestOptions.diskCacheStrategy(DiskCacheStrategy.ALL);
Run Code Online (Sandbox Code Playgroud)

请在下面检查我的代码

RequestOptions requestOptions = new RequestOptions();
requestOptions.timeout((int) NetworkParam.CONNECTION_TIME_OUT);
requestOptions.placeholder(R.drawable.img_blue_shirt);
requestOptions.priority(Priority.HIGH);
requestOptions.signature(new ObjectKey(String.valueOf(imgName)));
//requestOptions.skipMemoryCache(true);
requestOptions.diskCacheStrategy(DiskCacheStrategy.NONE);

//requestOptions.error(R.drawable.img_blue_shirt);
try {
    Glide.with(imageView.getContext().getApplicationContext())
         .load(imgUrl)
         .transition(GenericTransitionOptions.with(R.anim.anim_slide_in_left))
         .apply(requestOptions)
         .into(imageView);
} catch (Exception ex) {
    ex.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

tud*_*dor 11

根据此处的文档,在 Glide v4 中,您可以实现和应用自定义TransitionFactory.

对于始终交叉淡入淡出,在 Kotlin 中,您可以:

  1. 实现TransitionFactory接口
class DrawableAlwaysCrossFadeFactory : TransitionFactory<Drawable> {
  private val resourceTransition: DrawableCrossFadeTransition = DrawableCrossFadeTransition(300, true) //customize to your own needs or apply a builder pattern
  override fun build(dataSource: DataSource?, isFirstResource: Boolean): Transition<Drawable> {
    return resourceTransition
  }
}
Run Code Online (Sandbox Code Playgroud)
  1. 将其用作过渡
GlideApp.with(this)
  .load(url)
  .transition(DrawableTransitionOptions.with(DrawableAlwaysCrossFadeFactory()))
  .into(image)
Run Code Online (Sandbox Code Playgroud)


小智 7

要在 glide 4.10 中应用图像更改过渡,请使用

Glide.with(this).load(artwork)
                            ..transition(DrawableTransitionOptions.withCrossFade())
                            .into(playerBackground);
Run Code Online (Sandbox Code Playgroud)


Sum*_*kar 0

是的,我在这里得到了答案,我们无法在滑行中的缓存图像上应用动画以获取更多信息,请检查下面的链接

https://bumptech.github.io/glide/doc/transitions.html