I want to show the image using Glide animation. I'm downloading this image from the server. The animation is working fine when it downloads from the server but it's not working when the image is taken from Glide cache
requestOptions.skipMemoryCache(true);
requestOptions.diskCacheStrategy(DiskCacheStrategy.ALL);
Please check my code below
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();
}
Glide will put all image resources into the memory cache by default.
Glide allows users to specify three different placeholders that are used under different circumstances: placeholder. error.
According to the documentation here, in Glide v4 you can implement and apply a custom TransitionFactory
.
For always crossfading, in Kotlin you can:
TransitionFactory
interfaceclass 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
}
}
GlideApp.with(this)
.load(url)
.transition(DrawableTransitionOptions.with(DrawableAlwaysCrossFadeFactory()))
.into(image)
To apply image change transition in glide 4.10 use
Glide.with(this).load(artwork)
..transition(DrawableTransitionOptions.withCrossFade())
.into(playerBackground);
By default, Glide will not animate the image when loading it. If images are cached on disk, Glide will animate. To change that, define a custom TransitionFactory and pass it in with DrawableTransitionOptions.
For an example implementation, see the cross fade factory: https://github.com/bumptech/glide/blob/master/library/src/main/java/com/bumptech/glide/request/transition/DrawableCrossFadeFactory.java
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With