adjustViewBounds在Android布局文件中不起作用

时间:2012-09-14 05:44:41

标签: android layout imageview

我已经看过这个帖子: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>

1 个答案:

答案 0 :(得分:1)

对于那些感兴趣的人,我通过使用权重明确指定了rectangle_icon的高度来解决这个问题...为每个square_icon分配权重4,并为每个rectangle_icon赋予1的权重。永远地把我带走了,但我终于明白了!