2015-08-12 3 views
3

Я пытаюсь установить многоточие в конец моего текста (многострочный), если текст слишком длинный.Android TextVIew Эллипсис на основе размера окна

Я уже знаю, что могу использовать setMaxLines() и setEllipsize() для достижения эффекта. Однако, так как размер моего текста выглядит динамически изменчивым, я не знаю максимального количества строк, которые могут отображаться. Вместо этого у меня есть высота текста (по пикселю).

Как установить многоточие в зависимости от высоты представления и текста (включая свойства шрифта)? Если нет прямого доступного ресурса, который я могу использовать, каким может быть самый простой способ?

ответ

1

Вы можете использовать getLineCount() (но только после прохода макета).

Для получения дополнительной информации см. this answer.

+0

getLineCount() не будет работать, потому что текстовое изображение может вырасти с небольшой высоты до большой высоты. если я устанавливаю максимальное число строк, когда высота мала, getLineCount всегда будет возвращать старое небольшое число, когда высота возрастает. Таким образом, максимальный номер строки не обновляется. Кроме того, задайте максимальные расписания номеров строк для макета, что не является моим желанием. Спасибо за ваш ответ. – yongsunCN

 Смежные вопросы

  • Нет связанных вопросов^_^