我已经看过这个帖子:ImageView adjustViewBounds not working,但它不适用于我的情况。
本质上,adjustViewBounds 不起作用。让我们假设以下内容:
square_icon => 1000x1000
rectangle_icon => 400x100
device height => 1000
所以我想要发生的是四个具有以下尺寸的图标的垂直堆叠:
square_icon = 400x400
rectangle_icon = 400x100
square_icon = 400x400
rectangle_icon = 400x100
但是发生的事情是 square_icon 没有占用它可以占用的所有空间......并且 rectangle_icon 更像是 400x200 而不是 400x100?图像没有以不正确的纵横比进行缩放,只是在视图中添加了空白空间(scalingType 确定空间是在顶部、底部还是两者兼而有之)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="0dip"
android:layout_weight="1"
android:adjustViewBounds="true"
android:src="@drawable/square_icon" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/rectangle_icon" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="0dip"
android:layout_weight="1"
android:adjustViewBounds="true"
android:src="@drawable/square_icon" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/rectangle_icon" />
</LinearLayout>