What is the difference between ImageView.setBackgroundResource and ImageView.setImageResource?

情到浓时终转凉″ 提交于 2019-11-28 08:22:45
Dimitris Makris

setBackgroundResource is for setting the background of an ImageView.
setImageResource is for setting the src image of the ImageView. Given:

ImageView iv = new ImageView(this);

Then:

iv.setBackgroundResource(R.drawable.imagedata);

Will fit the image for the entire background. That means it will stretch the image to fill that background entirely even if the image size is too small.

imageView.setImageResource(R.drawable.imagedata);

Will occupy only the size of the image in ImageView. For that you want to also set

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

for your ImageView. If the size of the image is smaller than the ImageView the remaining border will be left blank and the background will be shown.

SetBackdroundResource is for a drawable or color you want to set at the background of the imageview and your setImageResource is like to display on it.

so setImageResource is for add any resource to your imageview's front side. try this example and look at the difference. Android Gallery, ImageView Example . This is a two layer effect,backside (setBackgroundResource) and frontside (setImageResource).

The method setBackgroundResource() belongs to all Views. The method setImageResource() only belongs to ImageView. You can set them both:

imageView.setBackgroundResource(R.drawable.sky);
imageView.setImageResource(R.drawable.balloons);

The setBackgroundResource() method will cause the image's width and height will be stretched to fill the size of the view. The setImageResource() method will let its image keep its aspect ratio.

My fuller answer is here.

Karthik Kompelli

setBackgroundResource sets the background image of an ImageView. The XML attribute is: android:background

setImageResource sets the image displayed in an ImageView. The XML attribute is: android:src

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!