添加新视图时LinearLayout高度更改

时间:2014-04-09 08:31:18

标签: android android-layout

我的GUI中有一些嵌套的Layouts。 不要问我为什么这么做,或者为什么我不使用网格布局...我的问题是别的。

我的布局看起来像THIS

添加任何视图后,让我们说一个按钮,对于这4个相对布局中的任何一个,它都会变为THIS

我将相对布局的权重设置为0dp。这样,当我向Layout添加另一个视图时,宽度不会改变。但我不知道如何处理身高。如果我也将它设置为0dp,那么它会消失。

这是我的XML代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" 
android:background="@drawable/rising_sun_blue"
android:weightSum="2">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" 
    android:layout_weight="1"
    android:background="#333111"
    android:weightSum="2"
    android:layout_alignParentBottom="true"
    >

    <RelativeLayout
        android:layout_width="0dp"
        android:layout_height="match_parent" 
        android:layout_weight="1"
        android:background="#ffffff">
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="#ff0000" >

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="14dp"
            android:text="Button" />

    </RelativeLayout>

</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" 
    android:layout_weight="1"
    android:background="#123132"
    android:weightSum="2"
    android:layout_alignParentTop="true">

     <RelativeLayout
        android:layout_width="0dp"
        android:layout_height="match_parent" 
        android:layout_weight="1"
        android:background="#ff0000">
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="0dp"
        android:layout_height="match_parent" 
        android:layout_weight="1"
        android:background="#ffffff">
    </RelativeLayout>


</LinearLayout>
</LinearLayout>

所以,我的问题是,在我添加一堆新视图之后,是否有任何一段代码可以“粘合”我的布局并使它们保持与第一个截图完全一样!?

1 个答案:

答案 0 :(得分:2)

给两个嵌套的LinearLayouts android:layout_height =&#34; match_parent&#34;而不是wrap_content。