Adding gif image in an ImageView in android

Viewed 380894

I added an animated gif image in an imageView. I am not able to view it as a gif image. No animation is there. It's appearing just as a still image. I would like to know how can i show it as a gif image.

18 Answers

with latest Glide library

use Gradle:

repositories {
  mavenCentral()
  google()
}

dependencies {
  implementation 'com.github.bumptech.glide:glide:4.8.0'
  annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
}

in activity or fragment:

ImageView imageView = findViewById(R.id.imageView);

/* from internet*/
Glide.with(this)
        .load("https://media.giphy.com/media/98uBZTzlXMhkk/giphy.gif")
        .into(imageView);

/*from raw folder*/
Glide.with(this)
        .load(R.raw.giphy)
        .into(imageView);

Display GIF file in android

Add the following dependency in your build.gradle file.

implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.0'

In the layout - activity_xxxxx.xml file add the GifImageview as below.

<pl.droidsonroids.gif.GifImageView
   android:id="@+id/CorrWrong"
   android:layout_width="100dp"
  android:layout_height="75dp"/>

In your Java file , u can access the gif as below.

 GifImageView emoji;
 emoji = (GifImageView)findViewById(R.id.CorrWrong);

I faced problem to use

compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.+'

And also I could not find the jar file to add to my project. So, in order to show gif, I use WebView like this:

WebView webView = (WebView) this.findViewById(R.id.webView);
webView.loadDataWithBaseURL(null, "<html><body><center><img style='align:center;width:250px; height:250px; border-radius:50%' src='file:///android_asset/loading.gif'/></center></body></html>", "text/html", "UTF-8", "");
webView.setBackgroundColor(Color.TRANSPARENT);
Related