2017-05-20 5 views
1

Vielen Dank im Voraus animierte GIF angezeigt werden,nicht in der Lage in Imageview in Android mit glide

Mein Code ist wie folgt:

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 ist eine normale Bildansicht. Aber es lädt das gif nicht in der Bildansicht.

Bitte helfen Sie mir dabei.

+0

Mögliches Duplikat [anzeigen GIF-Datei mit Glide (Bild Laden und Caching-Bibliothek)] (http://stackoverflow.com/questions/31082330/show-gif-file-with-glide-image-loading- und-caching-library) – crizzis

Antwort

0

Es funktioniert, aber die Zeit beim Laden von GIF in Anspruch nehmen.

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

ist es die Downloadzeit oder die Ladezeit? gif ist nur 354kb, nimmt immer noch Zeit. Irgendwelche Arbeit dafür? –

+0

Es lädt gut von lokalen, aber braucht Zeit von URL. Versuchen Sie Folgendes hinzuzufügen: .diskCacheStrategy (DiskCacheStrategy.SOURCE) Weitere Informationen finden Sie in diesem Problem: https://github.com/bumptech/glide/issues/600 – Zeero0

0

Verwendung GlideDrawableImageViewTarget

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

oder

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