2011-01-13 5 views
1

У меня есть виджет, где мне нужно отобразить текст в одной строке. Если текст не подходит, я хотел бы показать как можно больше и завершить текст с помощью «...», чтобы показать, что не отображается весь текст. Есть ли способ узнать, как долго будет отображаться текст перед визуализацией виджета, чтобы я мог заменить последнюю часть текста на «...»?Измерьте длину текста перед рендерингом

Cheers,

+1

Я считаю, что ответ на этот вопрос именно то, что вы ищете: http://stackoverflow.com/questions/1666736/android-textview-automatically-truncate-and-replace-last-3- char-of-string :) – Nailuj

+1

Аналогичный вопрос: http://stackoverflow.com/questions/3257293/measuring-text-width-to-be-drawn-on-canvas-android – bigstones

ответ

3

Вам не нужно делать этого - TextView может сделать это для вас.

myTextView.setSingleLine(true); 
myTextView.setEllipsize(TextView.TruncateAt.END); 
+0

Также работал с этим в xml: android : ellipsize = "end" – pgsandstrom

+0

Damnit, похоже, что он не работает с виджетами в телефонах pre-eclair. Существуют ли какие-либо известные способы обхода? ; _; – pgsandstrom

+0

Я просто попробовал это на пончике, и он делает то, что я ожидаю. Вы уверены, что в этом нет ничего другого? – Theasis

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