2017-05-20 2 views
1

Merci à l'avance,pas en mesure d'afficher gif animé en imageview en utilisant Android glide

Mon code est comme ceci:

String gifUrl = "http://i.kinja-img.com/gawker-media/image/upload/s--B7tUiM5l--/gf2r69yorbdesguga10i.gif"; 


Glide 
    .with(mContext) 
    .load(gifUrl) 
    .error(R.drawable.sample) 
    .into(imageViewTarget); 

imageViewTarget est un imageview normal. Mais il ne charge pas le gif dans l'imageview.

S'il vous plaît aidez-moi avec ceci.

+0

double possible de [Afficher le fichier GIF avec Glide (chargement des images et de la bibliothèque de la mise en cache)] (http://stackoverflow.com/questions/31082330/show-gif-file-with-glide-image-loading- et-cache-library) – crizzis

Répondre

0

Il fonctionne, mais peut prendre du temps dans le chargement gif.

ImageView imageView = (ImageView) findViewById(R.id.imageView); 
    GlideDrawableImageViewTarget imageViewPreview = new GlideDrawableImageViewTarget(imageView); 
    Glide.with(this) 
      .load("http://i.kinja-img.com/gawker-media/image/upload/s--B7tUiM5l--/gf2r69yorbdesguga10i.gif") 
      .listener(new RequestListener<String, GlideDrawable>() { 
       @Override 
       public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) { 
        Log.e("MyApp", "onException: "+model+" Exception: "+e); 
        return false; 
       } 

       @Override 
       public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { 
        Log.e("MyApp", "onResourceReady: "+model); 
        return false; 
       } 
      }) 
      .into(imageViewPreview); 
+0

Est-ce le temps de téléchargement ou le temps de chargement? gif est seulement 354kb, prenant encore du temps. Un travail pour ça? –

+0

Il charge très bien du local mais prend du temps de l'URL. Essayez d'ajouter ceci: .diskCacheStrategy (DiskCacheStrategy.SOURCE) Pour plus de détails, consultez ce numéro: https://github.com/bumptech/glide/issues/600 – Zeero0

0

utilisation GlideDrawableImageViewTarget

ImageView imageView = (ImageView) findViewById(R.id.imageView); 
GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(imageView); 
Glide.with(this).load(gifUrl).into(imageViewTarget); 

ou

Glide.with(context) 
.load(gifUrl) 
.asGif() 
.placeholder(R.drawable.sample) 
.crossFade() 
.into(imageView);