Je dois montrer charger l'image GIF de drawable à ImageView en utilisant glide
. J'ai essayé de suivre.
Glide.with(LoginActivity.this)
.load(getResources().getDrawable(R.drawable.bg_gif)).asGif()
.crossFade()
.into(relativeLayout);
Mais cela ne semble pas fonctionner et cela fonctionne lorsque je place l'image dans le dossier raw
.mais le problème est que je dois utiliser des images de dimension différente.
Toute aide serait grandement appréciée.
Vous pouvez essayer d'utiliser Ion, cela fonctionne très bien pour moi. Ion
Utiliser Ion
Ion.with(imgView)
.error(R.drawable.default_image)
.animateGif(AnimateGifMode.ANIMATE)
.load("file:///Android_asset/animated.gif");
Utiliser Glide
ImageView imageView = (ImageView) findViewById(R.id.imageView);
GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(imageView);
Glide.with(this).load(R.raw.sample_gif).into(imageViewTarget);
Une autre approche
Pour Glide 3.0 vous devez définir asGif()
plus tôt:
Glide.with(context)
.load(imageUrl)
.asGif()
.placeholder(R.drawable.loading2)
.crossFade()
.into(imageView);
Gardez à l'esprit que le simple fait d'utiliser load () chargera un fichier GIF ou Bitmap en fonction du type de données. Sauf si vous voulez que votre charge échoue si l'URL donnée n'est pas un gif, vous n'avez pas besoin de spécifier asGif ()
Il suffit de passer l’identifiant de la ressource directement à load () :
Glide.with(LoginActivity.this)
.load(R.drawable.bg_gif)
.asGif() // you may not need this
.crossFade()
.into(relativeLayout);
Vous devez déplacer votre image Gif dans le dossier res/raw
de votre projet ( Si votre projet n'a pas de dossier raw
dans la ressource directement, créez-en simplement un et insérez votre gif)
et ensuite vous pouvez simplement charger votre gif avec une seule ligne de code
Glide.with(this) .load(R.raw.splash) .into(new GlideDrawableImageViewTarget( (ImageView) findViewById(R.id.image)));
Pour Glide 4
GlideApp.with(this)
.load(R.raw.gif_file)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.into(imageView);
Placez votre Gif dans le dossier "raw" et utilisez
GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(imageView);
Glide.with(this).load(R.raw.test).into(imageViewTarget);