2015-09-23 3 views
0

Я хочу, чтобы получить следующий результат в моем макете: [влево TextView] [пробел] [правый TextView] Для этой цели я использую его:Multiline TextView и SingleLine TextView в одной строке

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/relativeLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:paddingLeft="20dp" 
    android:paddingRight="20dp" 
    android:paddingBottom="10dp" 
    android:paddingTop="10dp"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:text="left" 
     android:id="@+id/left"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:text="right" 
     android:id="@+id/right"/> 

</RelativeLayout> 

Это нормально , Но если в левой части TextView содержится большой текст, результат будет следующий:

[left textview] (в левом текстовом виде [right textview]. Так что левое переопределение справа. Но я хочу, чтобы левый TextView не переопределял права, и ., когда остался TextView достигает правую TextView левого TextView спуститься в многострочный Так что я хочу, чтобы получить следующий результат:

некоторого-текст-текст-левого многострочного

некоторых-текст-текст-левый многострочного text- in-right-text-view

некоторые текстовые-текстовые левые-многострочные

ответ

0

Используйте линейное расположение (по горизонтали) и место TextView с тем же android:layout_weight внутри, чтобы сделать 50/50

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 

    <TextView 
     android:id="@+id/left" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" /> 

    <TextView 
     android:id="@+id/right" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" /> 
</LinearLayout> 

Это расширяет влево до достижения вправо с помощью android:layout_toLeftOf

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 

    <TextView 
     android:id="@+id/left" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_toLeftOf="@id/right" 
     android:text="this is a long text on the left which should be multiline and it is" /> 

    <TextView 
     android:id="@+id/right" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:text="some text" /> 
</RelativeLayout> 

sample

+0

Отлично. Спасибо! – user3499878

0

Сделайте это по-вашему:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/relativeLayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <TextView 
      android:id="@+id/right" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_centerVertical="true" 
      android:gravity="right" 
      android:minWidth="50dp" 
      android:maxWidth="100dp" 
      android:text="right" /> 

     <TextView 
      android:id="@+id/left" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_centerVertical="true" 
      android:gravity="left" 
      android:layout_toLeftOf="@+id/right" 
      android:text="left" /> 


    </RelativeLayout> 
Смежные вопросы