加載 GIF 圖片到 ImageView 中
通常 Android 的 ImageView 不能加載 Gif 圖片,如不做任何處理,那么加載到 ImageView 中的Gif 只顯示第一幀。
Glide 加載 Gif 圖片就很方便:
Glide.with(this).load(R.drawable.loading).into(imageView);
或者
Glide.with(this).load("圖片地址:url").asGif().into(iv);
這里如果使用了.asGif()方法的話,傳入的圖片必須是 gif 圖,其他圖會報錯。當然不使用.asGif()方法同樣也可以加載gif圖。但是用上面這種,有時候加載 gif 圖很慢或者出不來,就需要加載緩存策略
Glide.with(this).load(url).asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE).into(imageView);
加入了緩存策略,緩存策略有四種如下:
/** Caches with both {@link #SOURCE} and {@link #RESULT}. */
ALL(true, true),
/** Saves no data to cache. */
NONE(false, false),
/** Saves just the original data to cache. */
SOURCE(true, false),
/** Saves the media item after all transformations to cache. */
RESULT(false, true);
上面這種形式,會重復不斷的播放,如果只想播放一次就停在最后一幀,可以這樣做:
Glide.with(this).load("url").diskCacheStrategy(DiskCacheStrategy.SOURCE).into(new GlideDrawableImageViewTarget(iv, 1));