2011-08-28 31 views

回答

34

setBackgroundResource用於設置ImageView的背景。
setImageResource用於設置ImageView的src圖像。 考慮:

ImageView iv = new ImageView(this); 

然後:

iv.setBackgroundResource(R.drawable.imagedata); 

將適合的圖像的整個背景。這意味着即使圖像尺寸太小,它也會拉伸圖像以完全填充背景。

imageView.setImageResource(R.drawable.imagedata); 

將只佔用ImageView中圖像的大小。 對於要還設置

android:layout_width="wrap_content" 
android:layout_height="wrap_content" 

您ImageView的。如果圖像的尺寸小於ImageView,則剩餘的邊框將留空,並顯示背景。

+0

但你需要設置一些填充或什麼? – Lukap

+0

設置填充是爲了什麼原因?可以把它看作兩層:背景背後,源代碼作爲前景。如果圖像源不透明,您將無法看到背景。 –

+4

如果您希望在src圖像周圍有一個白色邊框,例如,您可以設置imageview的填充並設置白色作爲背景資源。否則,不需要填充。 –

3

SetBackdroundResource是用於要在imageview的背景中設置的drawable或color,並且您的setImageResource就像在其上顯示。

so setImageResource是用於添加任何資源到您的imageview的正面。嘗試這個例子,看看不同之處。 Android Gallery, ImageView Example 。這是一個雙層效果,背面(setBackgroundResource)和正面(setImageResource)。

+0

您到「androidpeople.com」的鏈接已死亡。但我可以用「雙層效應」來形象地表達你的意思。謝謝! – winklerrr

0

setBackgroundResource設置ImageView的背景圖像。 XML屬性是:android:background

setImageResource設置圖像顯示在ImageView中。 XML的屬性是:android:src