Gif图像没有在Android应用程序

时间:2017-05-16 06:15:17

标签: android android-studio universal-image-loader

在我的Android应用程序中,我使用通用图像加载器来显示来自网址的图像。在加载图像期间,我想要显示gif图像。但添加的gif图像并未显示任何动画。 这是我显示图像的代码。

private static final DisplayImageOptions.Builder DEFAULT_DISPLAY_IMAGE_OPTIONS_BUIDLER = new DisplayImageOptions.Builder()
        .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2)
        .displayer(new FadeInBitmapDisplayer(300, true, false, false))
        .showImageForEmptyUri(R.drawable.default_image)
        .showImageOnLoading(R.drawable.loadingx)
        .showImageOnFail(sampleapp.sample.com.sampleapp.R.drawable.default_image).cacheOnDisk(true)
        .cacheInMemory(true).bitmapConfig(Config.ARGB_8888);

我应该在加载时间图像中显示动画gif图像的更改

3 个答案:

答案 0 :(得分:0)

尝试使用glide进行gif图片加载......

Glide  
    .with( context )
    .load( gifUrl )
    .asGif()
    .error( R.drawable.full_cake )
    .diskCacheStrategy(DiskCacheStrategy.SOURCE)
    .into( imageViewGif );

要了解以下链接 - here

如果您想使用ProgressBar,请创建如下方法 -

public void loadImage(Context context, String url, ImageView img, final ProgressBar eProgressBar) {

        eProgressBar.setVisibility(View.VISIBLE);
        Glide.with(context)
                .load(url)
                .listener(new RequestListener<String, GlideDrawable>() {
                    @Override
                    public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
                        eProgressBar.setVisibility(View.GONE);
                        return false;
                    }

                    @Override
                    public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                        eProgressBar.setVisibility(View.GONE);
                        return false;
                    }
                })
                .crossFade()
                .error(R.drawable.placeholder_image)
                .into(img);
    }

使用此方法并通过它传递参数值...:)

答案 1 :(得分:0)

Universal Image Loader不支持Gif,请参阅this尝试使用支持gif的其他库Glide

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

答案 2 :(得分:0)

I got answer by using glide library. But glide is slower than universal image loader.

Glide.with(getActivity().getApplication())
                .load(item.imageUrl)
                .thumbnail(Glide.with(getActivity().getApplication()).load(R.drawable.loadingx))
                .fitCenter()
                .crossFade()
                .into(holder.image);