首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用通用图像加载器加载图像时显示不确定的ProgressBar

使用通用图像加载器加载图像时显示不确定的ProgressBar
EN

Stack Overflow用户
提问于 2012-12-01 06:00:44
回答 2查看 14.4K关注 0票数 18

我想知道是否有一种机制可以在使用通用图像加载器加载图像时显示一个旋转的“不确定”ProgressBar来代替图像。

现在我正在使用DisplayImageOptions中的showStubImage()选项来显示一个图片,当图片正在下载时,它会显示"No Image“,但是如果在图片下载时ImageView上有一个旋转的不确定的ProgressBar,那将是非常流畅的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-01 22:59:04

For reference

代码语言:javascript
复制
final View imageLayout = inflater.inflate(R.layout.item_pager_image, null);
final ImageView imageView = ...
final ProgressBar spinner = ...

imageLoader.displayImage(images[position], imageView, options, new SimpleImageLoadingListener() {
    @Override
    public void onLoadingStarted(String imageUri, View view) {
        spinner.setVisibility(View.VISIBLE);
    }

    @Override
    public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
        spinner.setVisibility(View.GONE);
    }

    @Override
    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
        spinner.setVisibility(View.GONE);
    }
});
票数 55
EN

Stack Overflow用户

发布于 2015-06-10 15:13:44

我发布了grid Adapter类代码,我用它从web上下载图像。您必须声明一个具有一个imageview和两个textviews的网格布局。将字符串数组传递给适配器。

代码语言:javascript
复制
@Override
public View getView(final int position, View convertView, ViewGroup parent)
{
    // TODO Auto-generated method stub
    LayoutInflater inflater = (LayoutInflater) parent.getContext().getSystemService(activity.LAYOUT_INFLATER_SERVICE);
    //LayoutInflater inflator = activity.getLayoutInflater();
    if(convertView==null)
    {
        view = new ViewHolder();
        convertView = inflater.inflate(R.layout.grid_layout, null);
        view.txtViewTitle = (TextView) convertView.findViewById(R.id.title);
        view.txtViewSubTitle = (TextView) convertView.findViewById(R.id.subTitle);
        view.imgViewFlag = (ImageView) convertView.findViewById(R.id.imageView1);
        convertView.setTag(view);
    }
    else
    {
        view = (ViewHolder) convertView.getTag();
    }

    view.txtViewTitle.setText(listTitle.get(position));
    view.txtViewSubTitle.setText(listSubTitle.get(position));

    //For Picasso
 /*   Picasso.with(parent.getContext())
            .load("http://www.radioarpan.com/upload_images/138630281911.jpg")
            .placeholder(R.mipmap.paceholder)
            .error(R.mipmap.error_page_logo)
            .noFade().resize(125,165)
            .centerCrop()
            .into(view.imgViewFlag);*/



    ImageLoader imageLoader = ImageLoader.getInstance();
    DisplayImageOptions.Builder options = new DisplayImageOptions.Builder().cacheInMemory(true)
            .cacheOnDisc(true).resetViewBeforeLoading(true)
            .showImageForEmptyUri(R.mipmap.paceholder)
            .showImageOnFail(R.mipmap.error_page_logo);


    final ProgressBar spinner =  new ProgressBar(activity, null, android.R.attr.progressBarStyleSmall);
//download and display image from url
      imageLoader.displayImage("http://www.radioarpan.com/upload_images/138630281911.jpg", view.imgViewFlag,new SimpleImageLoadingListener()
   {
       @Override
       public void onLoadingStarted(String imageUri, View view)
       {
           spinner.setVisibility(View.VISIBLE);
       }

       @Override
       public void onLoadingFailed(String imageUri, View view, FailReason failReason)
       {
           spinner.setVisibility(View.GONE);
       }

       @Override
       public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage)
       {
           spinner.setVisibility(View.GONE);
       }
   });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13653816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档