2017-05-16 112 views
1

在我的android应用程序中,我使用通用图像加载器来显示来自url的图像。在加载图像期间,我想要显示一个gif图像。但添加的gif图像没有显示任何动画。 这是我的代码来显示图像。Gif图像在android应用程序中未显示其动画

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); 

我应该做哪些改变加载时间图像

+0

转到throught [与链接,找到解决方案(http://stackoverflow.com/a/30277940/8012913) –

回答

0

尝试使用滑翔gif图片加载过程中显示动画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); 
    } 

使用此方法,并通过它的参数值... :)

+0

我想加载图像URL的时间内使用GIF图像。有没有什么办法来实现这个 – user1810

+1

是的,我按照你的要求编辑我的答案。希望它会有所帮助。 – Farya

+0

它的作品谢谢 – user1810

0

通用图像装载机亘古不支持GIF看到this尝试使用其他库一样Glide支持GIF

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

通用图像加载程序支持默认进度条或微调 – user1810

+0

什么是进度条和图像加载程序之间的关系,我不明白你问什么 – Redman

+0

你说,通用图像加载程序doesn不支持gif。如果是这样,那么我只需要在加载图像时显示移动的东西。在android中有默认的进度条。此[链接](http://stackoverflow.com/questions/13653816/show-indeterminate-progressbar-while-loading-image-with-universal-image-loader)显示如何在加载图像期间显示进度条。我尝试过,但它也会导致一些错误。 – user1810

0

我通过使用滑翔库得到答案。但滑行比通用图像加载器慢。

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