如何以编程方式在imageview上插入进度条

时间:2010-12-10 07:21:55

标签: android progress-bar

我已经以编程方式定义了一个图像视图,并使用从webservice下载的图像异步更新它。

现在,我想在图像视图中添加一个进度条,以便图像视图显示进度条,直到图像加载为止。我没有在xml文件中定义imageview,因为我在水平滚动视图中更新它。

请拼命帮忙...... !!!

这是我正在更新图像视图的代码

protected ImageView asImageView(final String message,final String path){
    final ImageView iv=new ImageView(this);


    AsyncImageLoaderv asyncImageLoaderTop = new AsyncImageLoaderv();
    Bitmap cachedImageTop=
    asyncImageLoaderTop.loadDrawable(
            path, new AsyncImageLoaderv.ImageCallback() {
                public void imageLoaded(Bitmap imageDrawable,
                        String imageUrl) {

                    iv.setImageBitmap(imageDrawable);
                }
            });
    iv.setImageBitmap(cachedImageTop);
    iv.setScaleType(ImageView.ScaleType.FIT_XY);
    LinearLayout.LayoutParams params=  new LinearLayout.LayoutParams(100,120);
    params.setMargins(10, 10, 10, 10);
    iv.setLayoutParams(params);

    iv.setOnClickListener(new OnClickListener() {

        public void onClick(View arg0) {
            startActivity(new Intent(getApplicationContext(),
                    ShowPhotoActivity.class).putExtra("imagePath",
                    path).putExtra("message", message));


        }
    });
    return iv;
}

2 个答案:

答案 0 :(得分:3)

我知道这已经有几年了,但我想我还会发帖,因为它可能会帮助将来的某个人......

您应该使用Koush提供的库。它非常简单直接。此外,它会自动处理所有复杂的东西!

https://github.com/koush/UrlImageViewHelper

上面的URL提供了文档和进一步说明 - 无需在此处重现。

答案 1 :(得分:1)

我刚遇到类似的问题。 我不确定您是否可以在ImageView上插入ProgressBar,但您可以将其显示在imageview的位置,然后使用setVisibility(View.GONE)隐藏它。 我看到你的函数返回ImageView。也许它可以返回View类型,然后如果没有图像,它可以返回一个ProgressBar,它也是一个View? 或者,您可以创建和使用您的AnimationDrawable。