webentwicklung-frage-antwort-db.com.de

Wie lade ich ein GIF-Bild aus einem Zeichenordner mit glide in ImageView?

Ich muss das Laden von GIF-Bildern von Drawable in ImageView mit glide anzeigen. Ich habe Folgendes versucht.

Glide.with(LoginActivity.this)
                .load(getResources().getDrawable(R.drawable.bg_gif)).asGif()
                .crossFade()
                .into(relativeLayout);

Scheint aber nicht zu funktionieren und es funktioniert, wenn ich ein Bild in den Ordner raw lege. Das Problem ist jedoch, dass ich Bilder mit verschiedenen Dimensionen verwenden muss.

Jede Hilfe wäre sehr dankbar.

5
Stella

Sie können versuchen, Ion zu verwenden, es funktioniert gut für mich. Ion

Ion verwenden

 Ion.with(imgView)
.error(R.drawable.default_image)
.animateGif(AnimateGifMode.ANIMATE)
.load("file:///Android_asset/animated.gif");

Glide verwenden

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

Ein anderer Ansatz

Für Glide 3.0 müssen Sie asGif() früher einstellen:

Glide.with(context)
    .load(imageUrl)
    .asGif()
    .placeholder(R.drawable.loading2)
    .crossFade()
    .into(imageView);

Beachten Sie, dass durch die Verwendung von load () abhängig vom Datentyp entweder eine GIF oder eine Bitmap geladen wird. Wenn Sie nicht möchten, dass Ihre Last fehlschlägt, wenn die angegebene URL kein GIF ist, müssen Sie asGif () nicht angeben.

10
Kristo

Übergeben Sie einfach die Ressourcen-ID direkt an load () :

Glide.with(LoginActivity.this)
            .load(R.drawable.bg_gif)
            .asGif()  // you may not need this
            .crossFade()
            .into(relativeLayout);
4
Doug Stevenson

Schritte zum Laden von Gif-Bildern aus dem Zeichnen

  1. Sie müssen Ihr Gif-Bild in den res/raw-Ordner Ihres Projekts verschieben ( Wenn Ihr Projekt den raw-Ordner nicht direkt in der Ressource hat, erstellen Sie einfach einen und fügen Sie Ihre GIF-Datei ein.) 

  2. und dann kannst du einfach dein Gif mit nur einer Codezeile laden

Glide.with(this)
                  .load(R.raw.splash)
                  .into(new GlideDrawableImageViewTarget(
                          (ImageView) findViewById(R.id.image)));
2
Hitesh Sahu

Für Glide 4

GlideApp.with(this)
            .load(R.raw.gif_file)
            .diskCacheStrategy(DiskCacheStrategy.NONE)
            .into(imageView);
1
Gowsik K C

Legen Sie Ihre GIF in den "rohen" Ordner und verwenden Sie

  GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(imageView);
    Glide.with(this).load(R.raw.test).into(imageViewTarget);
1
Satyam Anand