2010-12-10 76 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

文檔和進一步的解釋可在上述網址 - 沒有必要在這裏重現。

相關問題