2013-08-05 164 views
2

我經歷了很多線程,但是我還是無法得到答案。在Imageview中清除圖像

我的圖像編程設置爲ImageView的作爲

imageview.setBackgroundResource(R.Drawable.image); 

如果我設置圖像上面,將圖像被清除,如果我給

imageview.setImageDrawable(null); 

是什麼意思imageview.setBackgroundDrawable(null)

是什麼

imageview.setImageDrawable(null); 

imageview.setImageBitmap(null); 

imageview.setBackgroundDrawable(null); 

回答

11

setBackgroundDrawable()之間的區別已經過時了。您應該改用setBackground

基本上不同的是參數。在setImageBitmap()你必須傳遞一個Bitmap對象。在setImageDrawable()中,您必須通過Drawable對象。 setBackground只是改變imageview的背景。

imageview可以有背景和圖像內容。如果您正在定義背景並想清除imageview,則應使用setBackground(null)

+0

這是真實的答案 –

+2

setBackgroundResource(0)是最好的選擇。從文檔。 setBackground需要ApI 16或更高版本..請參閱http://developer.android.com/reference/android/view/View.html#setBackgroundResource%28int%29 – Nepster

0

setImageBitmap(Bitmap bm):設置Bitmap由於這一 ImageView

setImageDrawable(Drawable drawable)內容:設置一個可繪製的 內容的這種ImageView

+0

我在問它將它設置爲null的區別。我想清除圖像。 – VIGNESH

+0

imageview.setImageDrawable(null);爲我工作 – KOTIOS

2

你有沒有試着用:

imageview.setImageResource(android.R.color.transparent); 
+0

我如何得到這在XML? – santafebound

1

我同樣的問題。在這裏,

imageview.setImageDrawable(null); 

將清除ImageView的背景下,

imageview.setImageBitmap(null); 

將從ImageView清除ImageBitmap和

imageview.setBackgroundResource(R.Drawable.image); 

將設置圖片爲您的路徑如您路徑(R.Drawable.image

1

有很多方法膨脹&明確的ImageView

  1. 如果您已經使用充氣,

    imageView.setImageDrawable(ContextCompat.getDrawable(背景下,R.drawable。XYZ));

    然後使用透明,

    imageView.setImageDrawable(空);

  2. 如果已經使用充氣,

    imageView.setBackgroundResource(R.drawable.xyz);

    然後使用透明,

    imageView.setBackground(空);

所以基本上如果你膨脹ImageDrawable,那麼你刪除ImageDrawable。 如果您膨脹背景,然後您刪除背景。對於ImageBitmap也是如此。