我现在拥有的是TextView元素的ListView.每个TextView元素都显示一个文本(文本长度从12个字到100+不等).我想要的是让这些TextViews显示文本的一部分(比方说20个字或大约170个字符).
如何将TextView限制为固定数量的字符?
Boo*_*ger 148
这是一个例子.我使用maxLength属性限制size,使用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"/>
Run Code Online (Sandbox Code Playgroud)
如果您对xml解决方案不感兴趣,可以这样做:
String s="Hello world";
Textview someTextView;
someTextView.setText(getSafeSubstring(s, 5));
//the text of someTextView will be Hello
Run Code Online (Sandbox Code Playgroud)
...
public String getSafeSubstring(String s, int maxLength){
if(!TextUtils.isEmpty(s)){
if(s.length() >= maxLength){
return s.substring(0, maxLength);
}
}
return s;
}
Run Code Online (Sandbox Code Playgroud)
我使用该maxEms
属性做到了这一点。
<TextView
android:ellipsize="end"
android:maxEms="10"/>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
72503 次 |
最近记录: |