以下是我在android布局中的textview,我希望在一定宽度的文本之后,它会在字符串的末尾添加“...”。我不想在设置文本时在java中这样做,但希望这个由textview本身处理。有可能吗?
<TextView
android:id="@+id/list_contact_name"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/list_contact_icon"
android:paddingLeft="10dp"
android:paddingBottom="10dp"
android:textColor="#222"
android:text="Sandeep Choudhary Mahabali"
android:textSize="18sp" />
答案 0 :(得分:4)
将这些属性添加到textview:
android:maxLines="1"
android:ellipsize="end"
答案 1 :(得分:1)
将这些属性添加到TextView
,将TextView's
文字限制在一行,并在行尾添加3个点...
。
android:singleLine="true"
android:ellipsize="end"
答案 2 :(得分:0)
扩展TextView类,覆盖setText并修剪并添加你的&#34; ...&#34;那里。如果需要,添加一个属性来定义文本在修剪之前应该有多长,然后你也可以在xml中设置每个TrimmedTextView长度。
public class TrimmedTextView extends TextView {
@Override
public void setText(CharSequence text, BufferType type) {
int maxLength = 10;
String value = text.toString();
if (text.length() > maxLength) {
value = text.subSequence(0, maxLength) + "...";
}
super.setText(value, type);
}
}