Android TextView индикатор переполнения текста?
Мне было интересно, есть ли способ заменить последние три символа TextView на '...- но только если текущий текст переполняет текстовое представление. Я должен ограничить TextView до 1 строки, но иногда текст слишком длинный, и я хотел бы показать"..."в конце указать, что текст длиннее, чем то, что показано.
Спасибо
2 ответов:
Да. Вы можете использовать http://developer.android.com/reference/android/widget/TextView.html#attr_android:ellipsize чтобы настроить отображение"...".
Да, это обычная задача, называемая усечением. Вам нужно будет найти максимальное количество символов, которые, по вашему мнению, подойдут (-3 для 3 периодов), а затем сделать что-то вроде этого:
int MAX_CHARS = 55; // for example TextView tv = (TextView) findViewById(R.id.your_text_view_id); if(tv.getText().toString().length >= MAX_CHARS){ tv.setText(tv.getText().toString().substring(0,MAX_CHARS) + "..."); }Помните, что некоторые символы шире других, в зависимости от шрифта, поэтому вы можете попробовать все прописные буквы Os, пытаясь узнать, какими должны быть ваши MAX_CHARS. (обычно один из самых широких персонажей в моем опыте)
Comments