2017-08-17 188 views
1

我有LinearLayout内多个RelativeLayout。在我的RelativeLayout里面有2 TextViewTextView中的值例如今天的日期发生变化。使所有RelativeLayout相同的尺寸

我打算做的是不管我的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

,但我想发件箱箱是相同的高度今天箱。

预先感谢您。

回答

1

高度你必须指定今天发件箱RelativeLayoutmatch_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

+0

它工作的很棒!非常感谢:) – natsumiyu

+0

不客气@mori –

0

尝试更换android:layout_weight="1"android:weightSum="3"LinearLayout添加android:orientation="horizontal"和修复的RelativeLayout

+0

我该如何解决'RelativeLayout'的高度问题?我需要改变'wrap_content'吗? – natsumiyu

+0

android:layout_height =“match_parent” –