2010-12-10 82 views
3

我已经以编程方式定义了图像视图并使用从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; 
} 

回答

1

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

3

我知道这是一个几年的历史,但我想我还是会职位,因为它可能会帮助别人的未来...

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

https://github.com/koush/UrlImageViewHelper

文档和进一步的解释可在上述网址 - 没有必要在这里重现。

相关问题