Автоматическая замена последних символов в TextView Android
Быстрый ответ
Если нужно сразу обрезать строку и добавить в конце многоточие в TextView
, можно воспользоваться следующей функцией.
String truncateEnd(String text) {
return text.length() > 3 ? text.substring(0, text.length() – 3) + "..." : text;
}
Далее эту обработанную строку необходимо присвоить TextView
:
textView.setText(truncateEnd("Пример длинной строки"));
Метод truncateEnd
вырезает последние три символа из строки и, если длина строки превышает три символа, добавляет многоточие.
Обрезка текста на уровне XML
Если вы хотите обрезать текст с помощью XML, настройте атрибуты TextView
следующим образом:
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Пример длинной строки"
android:ellipsize="end"
android:maxLines="1"
android:scrollHorizontally="true"
android:gravity="end"/>
При данных настройках осуществляется автоматическая обрезка текста с добавлением многоточия в конце. Дополнительный код при этом писать не придется.
Сводка: Применение кода в действии
Если вы отдаёте предпочтение программному подходу, то примените в коде следующие строки:
textView.setEllipsize(TextUtils.TruncateAt.END);
textView.setSingleLine(true);
Вышеперечисленный код позволяет TextView
отображать текст в одной строке и обрезать его в конце в реальном времени.
Визуализация
Представьте себе, что текст это как бегун, движущийся к финишу. Вместо того, чтобы сделать последние три шага, он останавливает свой бег, ставит многоточие и со стилем завершает свой забег.
Моноширинные шрифты и Обрезка: Завораживающий роман
Моноширинные шрифты отлично подходят для отображения кода и логов: все символы занимают одинаковое пространство, что делает интерфейс приятным и упорядоченным.
Мировая арена: RTL и Специальные символы
Использование многоточий находит свое применение и в строках, написанных справа налево. TextView
обрабатывает такие особенности, как отображение эмодзи и восточных символов.
Доступность: не просто слово на букву "Д"
Гарантируйте, что обрезание текста не влияет на его восприятие со стороны вспомогательных технологий. При необходимости предлагайте полный текст в описаниях для обеспечения доступности.
Полезные материалы
- Документация по настройке эллипсизации
TextView
для Android. - Справочник Java с пояснениями о методе
substring
. - Всё, что нужно знать о
TextView
и атрибуте ellipsize в Android. - Советы по расчёту ширины строки в Android.
- Рекомендации по измерению размера текста и его отображению.
- Обсуждения и способы удаления последнего символа из строки в Java.