无法使用 glide 在 android 的 imageview 中显示动画 gif

not able to display animated gif in imageview in android using glide

我的代码是这样的:

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 是一个普通的图像视图。但是它没有在图像视图中加载 gif。

使用 GlideDrawableImageViewTarget

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

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

它可以工作,但加载 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);

不要为 Glide.It 使用过渡或动画将解决您的问题

代码:

Glide.with(context) .load(imgurl) 
.apply(RequestOptions.diskCacheStrategyOf(DiskCacheStrategy.RESOURCE) 
.error(R.drawable.no_image)) .into(holder.imageView);