我可以限制TextView的字符数量吗?
我现在有一个TextView元素的ListView。 每个TextView元素都显示一个文本(文本长度从12个字到100个以上)。 我想要的是让这些TextViews显示文本的一部分(比如说20个字或大约170个字符)。
如何将TextView限制为固定数量的字符?
这是一个例子。 我使用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"/>
如果你对xml解决scheme不感兴趣,也许你可以这样做:
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; }
在TextView中使用下面的代码
android:maxLength="65"
请享用…
您可以使用TextView类的setEllipsize方法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()函数。 在这个function中,你可以检查文字长度或单词cound。