我已经看过这个帖子: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>
答案 0 :(得分:1)
对于那些感兴趣的人,我通过使用权重明确指定了rectangle_icon的高度来解决这个问题...为每个square_icon分配权重4,并为每个rectangle_icon赋予1的权重。永远地把我带走了,但我终于明白了!