Как настроить представление текста Android, чтобы вырезать любые буквы, которые не вписываются в макет - PullRequest
6 голосов
/ 15 января 2011

У меня есть несколько TextViews в строке, и я хочу, чтобы 1st TextView занимал все свободное пространство, но если общая длина TextViews слишком велика для размещения на одной строке, я хочу, чтобы 1st TextView был обрезан.

Что касается свободного места, я установил layout_width для первого TextView, чтобы он соответствовал parent и layout_weight равным 1, что работает.Я просто не могу заставить его обрезать лишние буквы, поэтому он помещается в одну строку.

Мне нужно что-то вроде следующего с «Текст» и «Длинный текст»

'Text   :data'
'Long T :data'

Таким образом, «Длинный текст» обрезается до «Длинного Т», чтобы соответствовать.

То, что я получаю, это

'Text   :data'
'Long Text :d'

Спасибо!

Ответы [ 2 ]

7 голосов
/ 15 января 2011

Дайте первому (левому) TextView заданный размер (заданный в относительных единицах, dp) или используйте для него maxWidth, а также используйте многоточие.

http://developer.android.com/reference/android/widget/TextView.html#attr_android:ellipsize

Это хороший ответ на вашу проблему: TextView обрезает текст, когда он достаточно длинный

Также похоже наэтот вопрос может помочь: Два TextViews рядом, только один для многоточия?

1 голос
/ 25 марта 2016

Попробуйте что-то вроде этого:

android:singleLine="true"
android:ellipsize="start"
android:scrollHorizontally="true"
...