这是我的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必须共享屏幕高度。
怎么可能这样做?
答案 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>