我正在处理显示图像的应用程序,我需要创建一个以1:1宽高比显示大图像的视图。
首先,我有缩略图,72x72
分辨率。我已将它们放在ImageView
中,但即使我添加参数android:width="fill_parent"
和android:height="wrap_content"
,图像也不会是ImageView
的大小,而只是居中于中期。
我尝试添加参数android:scaleType="centerCrop"
,它可以水平调整图像大小,但高度保持不变。
我如何设置ImageView
以便它在所有设备上的宽度与父视图一样,并且它也应该是高度。
我可以以编程方式执行此操作,但我需要能够以XML格式执行此操作。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
// The ImageView I am talking about above
<ImageView
android:id="@+id/invitation_imageview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="1dp"
android:scaleType="centerCrop"
android:src="@drawable/face_woman_smile" />
<ImageView
android:id="@+id/invitation_avatar_view_1"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:src="@drawable/face_woman_smile"
android:scaleType="center"
android:layout_margin="1dp" />
</LinearLayout>
答案 0 :(得分:9)
我认为你需要将它添加到你的ImageView
android:adjustViewBounds="true"
答案 1 :(得分:2)
在保持宽高比的同时使图像拉伸到父宽度
设置
1- android:layout_width
至match_parent
2- layout_height
到wrap_content
3- adjustViewBounds
至true
像这样:
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/unknown"
android:adjustViewBounds="true" />
注意:这可能无法在预览中正确呈现,但可以在运行时使用。
答案 2 :(得分:1)
使用:
android:scaleType="fitXY"
答案 3 :(得分:1)
正如您所提到的,我通常使用android:width="match_parent"
和android:height="wrap_content"
,但我使用android:scaleType
作为ImageView
布局。
您可以详细了解here。