RelativeLayout:共享屏幕高度

时间:2012-11-03 09:42:44

标签: android share relativelayout

这是我的xml:

<RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                >

            <LinearLayout android:layout_alignParentTop="true"
                          android:layout_height="wrap_content"
                          android:layout_width="fill_parent"
                          android:id="@+id/llRow1" />
            <LinearLayout android:layout_height="wrap_content"
                          android:layout_width="fill_parent"
                          android:layout_below="@+id/llRow1"
                          android:id="@+id/llRow2" />
            <LinearLayout android:layout_alignParentBottom="true"
                          android:layout_height="wrap_content"
                          android:layout_width="fill_parent"
                          android:id="@+id/llRow3" >
</RelativeLayout>

我想要的是什么: - 那3个“行”必须分享屏幕的高度 - 但是有一个额外的:当我将第3行(llRow3)的可见性设置为GONE时,只有row1和row2必须共享屏幕高度。

怎么可能这样做?

1 个答案:

答案 0 :(得分:2)

为所有人设置相同的layout_weight。因此,如果您将第三个的可见性设置为GONE,它们仍将具有这些权重。 编辑: 将ParentLayout更改为LinearLayout,或者如果需要RelitiveLayout,则可以将这三个LinearLayout包装在另一个LinearLayout中,并将权重设置为它们,如下所示:

 <RelativeLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <LinearLayout
            android:id="@+id/llRow1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_weight="1" />

        <LinearLayout
            android:id="@+id/llRow2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/llRow1"
            android:layout_weight="1" />

        <LinearLayout
            android:id="@+id/llRow3"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_weight="1" >
        </LinearLayout>
    </LinearLayout>

</RelativeLayout>