使所有RelativeLayout的大小相同

时间:2017-08-17 06:50:45

标签: android-layout

RelativeLayout内有多个LinearLayout。在RelativeLayout内,它有2 TextViewTextView内的值会更改,例如今天的日期。

我打算做的是,无论我的TextView的价值有多长,无论谁具有更高的身高,其余RelativeLayout的大小都会与较高的高度相同。

这是我的xml

 <LinearLayout
        android:id="@+id/llbox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:layout_weight="1">

               <RelativeLayout
               android:id="@+id/today"
               android:layout_width="0dp"
               android:layout_height="wrap_content"
               android:layout_margin="5dp"
               android:layout_weight="1"
               android:background="@color/lightblue">

                <TextView
                 android:id="@+id/day"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_centerHorizontal="true"
                 android:drawablePadding="5dp"                       
                 android:drawableStart="@drawable/calendar"
                 android:padding="5dp"
                 android:textColor="@color/white"
                 android:textSize="16dp"
                 android:textStyle="bold" />

                 <TextView
                 android:id="@+id/monthyear"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_below="@id/day"
                 android:gravity="center"
                 android:padding="5dp"
                 android:textAllCaps="true"
                 android:textColor="@color/white"
                 android:textSize="12dp"
                 android:textStyle="bold" />
               </RelativeLayout>

               <RelativeLayout
                android:id="@+id/outbox_rl"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:background="@color/lightblue">

                  <TextView
                   android:id="@+id/no_of_outbox"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:layout_centerHorizontal="true"
                   android:drawablePadding="5dp"
                   android:drawableStart="@drawable/outbox"
                   android:padding="5dp"
                   android:textColor="@color/white"
                   android:textSize="16dp"
                   android:textStyle="bold" />

                   <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/no_of_outbox"
                    android:gravity="center"
                    android:padding="5dp"
                    android:text="@string/outbox"
                    android:textAllCaps="true"
                    android:textColor="@color/white"
                    android:textSize="12dp"
                    android:textStyle="bold" />
               </RelativeLayout>
</LinearLayout>

目前它看起来像这样

enter image description here

但我希望Outbox框与Today框的高度相同。

提前谢谢。

2 个答案:

答案 0 :(得分:1)

您必须将今天发件箱 RelativeLayout的高度指定为match_parent而不是wrap_content

<RelativeLayout
    android:id="@+id/today"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_margin="5dp"
    android:layout_weight="1"
    android:background="@color/lightblue">

    <TextView
        android:id="@+id/day"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:drawablePadding="5dp"
        android:drawableStart="@drawable/calendar"
        android:padding="5dp"
        android:textColor="@color/white"
        android:textSize="16dp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/monthyear"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/day"
        android:gravity="center"
        android:padding="5dp"
        android:textAllCaps="true"
        android:textColor="@color/white"
        android:textSize="12dp"
        android:textStyle="bold" />
</RelativeLayout>

<RelativeLayout
    android:id="@+id/outbox_rl"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_margin="5dp"
    android:layout_weight="1"
    android:background="@color/lightblue">

    <TextView
        android:id="@+id/no_of_outbox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:drawablePadding="5dp"
        android:drawableStart="@drawable/outbox"
        android:padding="5dp"
        android:textColor="@color/white"
        android:textSize="16dp"
        android:textStyle="bold" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/no_of_outbox"
        android:gravity="center"
        android:padding="5dp"
        android:text="@string/outbox"
        android:textAllCaps="true"
        android:textColor="@color/white"
        android:textSize="12dp"
        android:textStyle="bold" />
</RelativeLayout>

只需确保父布局的高度设置为您已在代码中完成的wrap_content。 :)

<强>输出

今日文字较长

enter image description here

使用较长的发件箱文字

enter image description here

两者都有相同的文字长度

enter image description here

答案 1 :(得分:0)

尝试将android:layout_weight="1"替换为android:weightSum="3"并在android:orientation="horizontal"中添加LinearLayout并修正RelativeLayout的高度