Android 图像视图集图像
我使用两种方法为imageView设置图像,即通过xml和通过代码Android 图像视图集图像,android,android-layout,imageview,Android,Android Layout,Imageview,我使用两种方法为imageView设置图像,即通过xml和通过代码setBackgroundResource 例如,img.setBackgroundResource(R.drawable.task\u learn\u lock) 或xml <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_conte
setBackgroundResource
例如,img.setBackgroundResource(R.drawable.task\u learn\u lock)代码>
或xml
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_weight="1"
android:src="@drawable/task_learn_lock"
android:contentDescription="@string/desc"
android:scaleType="centerInside" />
但结果不同,代码创建的图像是垂直拉伸的。有人知道为什么吗?我需要在应用程序运行时设置新映像。我试图发布一个屏幕截图,但我没有足够的声誉这样做。谢谢。很可能是因为这两种方法的图像视图的默认内容(由xml定义)不同
在以编程方式设置背景图像的第二种方法中,我想您应该设置默认的drawable
图像,该图像在大小和纵横比方面与@drawable/task\u learn\u lock
不同
由于ImageView
的layout\u高度
和layout\u宽度
定义为wrap\u内容
,因此ImageView
的纵横比将与默认的src
图像相同。因此,当您通过img.setBackgroundResource(R.drawable.task\u learn\u lock)
设置背景图像时,图像将被拉伸以适合当前ImageView
的尺寸
如果您想将内容设置为@drawable/task\u learn\u lock
,而不是图像视图的背景,您应该使用setImageResource
而不是setBackgroundResource
我尝试用预设的src并排添加两幅图像,可以很好地显示,但它使用代码添加图像,图像的显示方式会有所不同。您好,您是否建议我调整imageView的宽度和高度大小?这确实取决于您的情况,但通常这不是一个好的做法。一个快速修复方法是使用与R.drawable.task\u learn\u lock
@kggoh顺便说一句,在您的情况下,您似乎希望将内容(src
)设置为@drawable/task\u learn\u lock
,而不是图像视图的背景,您应该使用setImageResource
而不是setBackgroundResource
Yes。你是对的。现在它的工作,甚至我把包装内容的大小。谢谢