Могу ли я ограничить количество символов TextView?



теперь у меня есть список элементов TextView. каждый элемент TextView отображает текст (длина текста варьируется от 12 слов до 100+). Я хочу, чтобы эти текстовые представления отображали часть текста (скажем, 20 слов или примерно 170 символов).



Как ограничить TextView фиксированным количеством символов?

496   7  

7 ответов:

вот пример. Я ограничиваю размер с атрибутом maxLength, ограничиваю его одной строкой с атрибутом maxLines, а затем использую ellipsize=end для добавления "..."автоматически до конца любой линии, которая была отключена.

<TextView 
    android:id="@+id/secondLineTextView" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:maxLines="1" 
    android:maxLength="10" 
    android:ellipsize="end"/>

используйте ниже код в TextView

 android:maxLength="65"

наслаждайтесь...

Если вы не заинтересованы в xml-решениях, возможно, вы можете сделать это:

String s="Hello world";
Textview someTextView;
someTextView.setText(getSafeSubstring(s, 5));
//the text of someTextView will be Hello

...

public String getSafeSubstring(String s, int maxLength){
  if(!TextUtils.isEmpty(s)){
    if(s.length() >= maxLength){
      return s.substring(0, maxLength);
    }
  }
  return s;
}

вы можете использовать метод setEllipsize класса TextView http://developer.android.com/reference/android/widget/TextView.html#setEllipsize(android.text.TextUtils.TruncateAt)

с константами класса TextUtil для добавленных точек подвеса http://developer.android.com/reference/android/text/TextUtils.TruncateAt.html

Как упоминалось в https://stackoverflow.com/a/6165470/1818089 & https://stackoverflow.com/a/6239007/1818089, используя

android:minEms="2"

должно быть достаточно для достижения цели, указанной выше.

Я сделал это с помощью

можно расширить класс TextView и перезаписать функцию setText (). В этой функции вы проверяете длину текста или слово cound.

Comments

    Ничего не найдено.