在我的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图像的更改
答案 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);