我希望图像拉伸/收缩以适合水平而不是垂直。无论如何实现这一点,最好通过xml,但动态也可以吗?
它必须是 LINEARLAYOUT 是关键。
我希望图像拉伸/收缩以适合水平而不是垂直。无论如何实现这一点,最好通过xml,但动态也可以吗?
它必须是 LINEARLAYOUT 是关键。
注 2:请参阅底部的更新以获取正确答案。
注意:对不起,我误读了这个问题,并看到您希望它向一个方向延伸。如果我想出一个答案,我会修改我的答案,但这至少会阻止它完全伸展。
您必须创建一个新的可绘制资源来实现此目的:
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/your_image"
android:tileMode="clamp" />
只需替换your_image
为您的资源名称,将其保存在您的 drawables 文件夹中,并将其设置为背景。这应该在线性布局的左上角绘制图像,而不是重复。
更新:这将使图像水平拉伸,而不是垂直拉伸,并在线性布局的顶部对齐:
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/your_image"
android:gravity="fill_horizontal|clip_vertical|top"
android:tileMode="disabled" />
很抱歉最初的混淆。
您可以将属性设置scaleType
为ImageView
。查看文档中的可能值。
一个常见的用途是 set scaleType="centerCrop"
,它将保持图像的纵横比,但缩放使得结果比例的宽度和高度将等于或大于您的实际ImageView
宽度和高度。
如果要更改纵横比,可以使用scaleType="fitXY"
.
设置layout_width
为match_parent
和。layout_height
_ wrap_content
然后将 设置scaleType
为FIT_XY
(全部用于ImageView
自身,而不是LinearLayout
)。