我的图像分辨率小于设备的屏幕。如何拉伸它以适应宽度,但也可以缩放高度。当我将android:src更改为background时,它适合宽度,但不适合高度。
这是我的代码:
<ImageView
android:id="@+id/calculations"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/calculations"
android:visibility="gone" />
编辑:我在低分辨率设备上尝试过它很小,但是当我在全高清设备上试用它时,它没问题。为什么呢?
答案 0 :(得分:0)
您只需将android:adjustViewBounds
设置为true
即可。这个属性有什么作用?好吧,从d.android.com (click)开始:
如果希望ImageView调整其边界,请将此项设置为true 保留其可绘制的宽高比。
所以你的结果应该是这样的:
<ImageView
android:id="@+id/calculations"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/calculations"
android:adjustViewBounds="true"
android:visibility="visible" />
所以你绘制的问题是,它的大小比它的宽度大。这就是为什么景观模式中有这么多空白的原因。见下图:
要解决此问题,您应该将android:scaleType
设置为fitXY
,这会拉伸您的图像并且不会保持宽高比,或者centerCrop
将会缩小图像的一部分并保持纵横比。结果将是这样的:
注意:我猜这些都不是你真正想要的。因此,您应考虑使用XML
和TextViews
通过Views
创建此图片,而不是使用如此复杂的图片。
答案 1 :(得分:0)
在你的imageview中尝试scaletype fitXY
<ImageView
android:id="@+id/calculations"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/calculations"
android:adjustViewBounds="true"
android:visibility="visible"
android:scaleType="fitXY" />