Android如何在调整图像大小后调整布局大小

时间:2016-06-21 18:12:18

标签: android

我有一个并排的3张图片的布局。我使用layout_weight来设置它们:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:background="#888888"
    tools:context="test_layout_resize.MainActivity">

    <RelativeLayout
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"/>

    <RelativeLayout
        android:id="@+id/layout1"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/image1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/hotdog"/>
    </RelativeLayout>

    <RelativeLayout
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"/>

    <RelativeLayout
        android:id="@+id/layout2"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/image2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/hotdog"/>
    </RelativeLayout>

    <RelativeLayout
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"/>

    <RelativeLayout
        android:id="@+id/layout3"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/image3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/hotdog"/>
    </RelativeLayout>

    <RelativeLayout
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"/>

</LinearLayout>

出于某种原因,layout1,2和3的高度是原始热狗图像的高度,而不是缩小的高度:

3 hotdogs not at the top of the screen

我在ImageView.onDraw()中尝试了getParent()。requestLayout()或invalidate(),两者都没有改变任何内容。

如何让RelativeLayout的高度调整为新的ImageView高度?

1 个答案:

答案 0 :(得分:1)

在所有ImageView中使用android:adjustViewBounds="true"将解决您的问题。

希望它会对你有所帮助:)。