2012-04-18 95 views
4

我想爲ImageView設置背景顏色,當圖像視圖具有圖像資源時,它可以工作,並獲得我的背景顏色,但是當圖像鑑於沒有一個圖像資源,SetBackgroundColor不工作,什麼都不做,這是我的代碼:當圖像資源沒有圖像資源時,無法設置圖像視圖的背景顏色

XML佈局:

 <ImageView android:layout_centerHorizontal="true" 
     android:id="@+id/favor_item_image" 
     android:layout_alignParentTop="true" android:layout_height="wrap_content" 
     android:layout_width="match_parent" android:adjustViewBounds="true"/> 

java代碼:

 ImageView favorImage = (ImageView) MyView.findViewById(R.id.favor_item_image); 
     //favorImage.setImageResource(R.drawable.btndelete); 
     favorImage.setBackgroundColor(Color.argb(255,255,0,0)); 

因此,當我評論這一行://favorImage.setImageResource(R.drawable.btndelete);我無法設置圖像視圖背景顏色,但是當我取消註釋此行時,setBackgroundColor工作正常。

請任何幫助。 謝謝

回答

6

你沒有看到任何東西的原因是因爲你已將layout_height設置爲wrap_content。當您沒有在ImageView上設置圖像時,wrap_content會將高度設置爲0.如果您希望在沒有圖像的情況下顯示顏色,則必須將layout_height設置爲實際值,例如50dp。

+0

是的,你是對的,它的工作原理,謝謝! – 2012-04-18 18:04:10

0

嘗試設置:android:adjustViewBounds=false我可能會誤會,但是當這設置爲true視圖可能會縮放到0寬度和0高度時,它沒有圖像。

1

您的ImageView的高度爲wrap_content,當您只設置背景顏色時,它沒有內容。因此不顯示。你應該能夠通過設置不同的高度來解決這個問題。

+0

是的!問題在於身高,謝謝! – 2012-04-18 18:04:56