2

У меня есть два TextViews, расположенных по горизонтали LinearLayout. Поскольку они отображают только пару слов, первая из них ограничена maxLines=1 и ellipsize=marquee.Два TextViews позади друг друга, эллипсоиды только первый, второй всегда видны

Как правило, это будет выглядеть следующим образом:

Текст в TextView1текст в TextView 2

Однако, если TextView 1 получает слишком долго, TextView 2 больше не будет видно из-за первый занимают все пространство:

текст в TextView1 текст текст текст текст ...

Теперь я хотел бы только эллипсировать TextView 1, чтобы TextView2 всегда был полностью виден. Я пробовал установить layout_weight="1" на первый, но это оставляет пространство, когда он не эллипс.

Текст в TextView1 ------------------- Текст в TextView 2

ответ

6

ли это быть LinearLayout? Если нет:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="left" 
    tools:context=".MainActivity"> 

    <TextView 
     android:id="@+id/textview1" 
     android:text="This is a very very long string that eventually will get out of screen; yes, it is that long!" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toLeftOf="@id/textview2" 
     android:layout_toStartOf="@id/textview2"/> 

    <TextView 
     android:id="@+id/textview2" 
     android:text="Hello! I'm short!" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentRight="true"/> 

</RelativeLayout> 
+0

Это все еще оставляет пространства, хотя, когда TextView 1 не достаточно долго – jacobz

+1

вы правы; проверьте мой обновленный ответ, он должен работать сейчас. –

+0

Странно то, что он не работает, если вы замените гравитацию с «слева» на «старт». А также он не работает для меня на Nexus S с Android 4.1.2 (все выровнено вправо, так как нет гравитации = слева) – krossovochkin