添加' ...'在TextViews中的android中的字符串结尾处

时间:2014-04-28 16:41:42

标签: android android-layout android-listview

以下是我在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" />

3 个答案:

答案 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);
    }
}