Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ImageView.setBackgroundResource和ImageView.setImageResource之间有什么区别?_Android_Image_Background_Imageview - Fatal编程技术网

Android ImageView.setBackgroundResource和ImageView.setImageResource之间有什么区别?

Android ImageView.setBackgroundResource和ImageView.setImageResource之间有什么区别?,android,image,background,imageview,Android,Image,Background,Imageview,我在设置图像时看到了这些不同的方法,但我不明白其中的区别 为什么有两种方法?setBackgroundResource用于设置图像视图的背景。 setImageResource用于设置ImageView的src图像。 鉴于: 然后: 将使图像适合整个背景。这意味着即使图像大小太小,它也会拉伸图像以完全填充该背景 imageView.setImageResource(R.drawable.imagedata); 将仅占用ImageView中图像的大小。 为此,您还需要设置 android:lay

我在设置图像时看到了这些不同的方法,但我不明白其中的区别


为什么有两种方法?

setBackgroundResource用于设置图像视图的背景。
setImageResource
用于设置ImageView的src图像。 鉴于:

然后:

将使图像适合整个背景。这意味着即使图像大小太小,它也会拉伸图像以完全填充该背景

imageView.setImageResource(R.drawable.imagedata);
将仅占用ImageView中图像的大小。 为此,您还需要设置

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

用于您的ImageView。如果图像的大小小于ImageView,则剩余边框将留空,并显示背景。

SetBackDrondResource用于在ImageView的背景上设置可绘制或颜色,您的setImageResource类似于在其上显示


因此,setImageResource用于将任何资源添加到imageview的前端。试试这个例子,看看区别。这是一个两层效果,背面(setBackgroundResource)和正面(setImageResource)。

setBackgroundResource
设置ImageView的背景图像。XML属性是:
android:background

setImageResource
设置图像视图中显示的图像。XML属性是:
android:src

该方法属于所有视图。该方法仅属于
ImageView
。您可以同时设置它们:

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

setBackgroundResource()
方法将导致图像的宽度和高度被拉伸以填充视图的大小。
setImageResource()
方法将使其图像保持其纵横比


我更全面的回答是。

但是你需要设置一些填充物还是什么?设置填充物的原因是什么?将其视为两层:背景在后面,源作为前景。如果图像源不透明,您将无法看到背景。例如,如果您希望src图像周围有白色边框,您可以设置imageview的填充,并将白色设置为背景资源。否则就不需要填充了。你的“androidpeople.com”链接已经死了。但我可以想象你所说的“双层效应”。谢谢
android:layout_width="wrap_content"
android:layout_height="wrap_content"
imageView.setBackgroundResource(R.drawable.sky);
imageView.setImageResource(R.drawable.balloons);