Я пытаюсь получить строку текста, которая будет примерно такой же, как
foofoofoo - barbarbar
, но я хочу, чтобы она вытягивала foo и bar, если она не помещается в одной строке. то есть я пытаюсь сократить их.
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView android:id="@+id/text_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:maxWidth="0dip"
android:layout_weight="1"
android:textColor="#ffffff"
android:singleLine="true"
android:ellipsize="true"
android:text="foofoofoofoo" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:text=" - " />
<TextView
android:id="@+id/text_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="0dip"
android:layout_weight="1"
android:textColor="#ffffff"
android:singleLine="true"
android:ellipsize="true"
android:text="barbarbarbar" />
</LinearLayout>
Потерпите, это работает частично.
Установка layout_width
TextView
на 0dip
и layout_weight
равным 1
означает, что каждый из них будет занимать 50% доступного пространства.
Установка для singleLine
значения true
и эллипсис
до true
означает, что они будут выглядеть как foofoo ... если текст больше, чем контейнер.
Поэтому мой результат (если текст длиннее) должен быть
foofoo .. - barbar ..
Что это такое! Так что это работает.
Теперь я пытаюсь исправить ситуацию , если первый TextView
(id: text_1) содержит текст, который меньше 50%, заданных layout_width = "0dip"
и layout_weight = "1"
Я хочу wrap_content
. В противном случае это выглядит так:
foo пробел - barbar ..
и я хочу
foo - barbarbar
Вот почему я изменил layout_width = "wrap_content"
и добавил android: maxWidth = "0dip"
, но это не работает! Кажется, я не обращаю внимания на то, что я говорю wrap_content
и все еще даю это представление 50%!
Я читал, что вам нужно добавить android: adjustViewBounds = "true"
для maxWidth
работать, но это не повлияло.