2016-02-16 4 views
0

У меня есть 2 TextView один поверх другого. Когда они имеют один и тот же текст, они имеют одинаковую высоту, но когда у одного из них больше текста, он становится больше.Сделайте 2 TextViews одинаковой высоты

<LinearLayout 
        android:orientation="vertical" 
        android:layout_width="wrap_content" 
        android:layout_height="match_parent" 
        android:layout_gravity="center_vertical" 
        android:layout_weight="1" 
        android:paddingLeft="8dp" 
        android:paddingTop="12dp"> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textAppearance="?android:attr/textAppearanceSmall" 
         android:text="Math, Civics" 
         android:id="@+id/teaches" 
         android:layout_weight="1" 
         android:background="#A4D34A" /> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textAppearance="?android:attr/textAppearanceSmall" 
         android:text="Computer Science" 
         android:id="@+id/learns" 
         android:layout_weight="1" 
         android:background="#D22ACE" /> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textAppearance="?android:attr/textAppearanceSmall" 
         android:text="5$/hour" 
         android:id="@+id/rate" /> 

        <RelativeLayout 
         android:layout_width="match_parent" 
         android:layout_height="32dp" 
         android:layout_marginRight="8dp"> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:textAppearance="?android:attr/textAppearanceSmall" 
          android:text="Start Chat" 
          android:id="@+id/textView9" 
          android:layout_marginRight="8dp" 
          android:textStyle="italic" 
          android:layout_centerVertical="true" 
          android:layout_alignParentEnd="true" /> 
        </RelativeLayout> 

       </LinearLayout> 

Как я могу заставить их оставаться на одной высоте независимо от того, что?

ответ

4

У вас есть несколько вариантов: Вы можете обеспечить равные веса к двум TextViews

<TextView 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_weight="1"/> 
<TextView 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_weight="1"/> 

ИЛИ Вы можете использовать дать фиксированные ВЫСОТАХ в обоих видах. ИЛИ Вы можете установить MaxLines (Maximmum lines) атрибут для текстового представления определенного значения.

+1

Это правильный ответ, я лично поставил и атрибут MaxLines в объявлении двух TextViews – karvoynistas

1

Определить фиксированное значение для Yout, layout_height как 24dp или что-то в лучшем качестве dimens.xml подобное:

<dimen name="textview_height">24dp</dimen> 

и в макете поставить как layout_height к:

@dimen/textview_height 

Другим вариантом было бы установить первый, чтобы установить как wrap_content a го получить MeasuredHeight от них обоих, а затем принять большее значение и применить его к обоим TextViews