10

我有一个文本视图。如果长于可用宽度,我希望它变成椭圆形。除非输入字符串没有空格,否则这不起作用......任何人都可以提供这个工作的例子吗?我尝试了不同的组合:

singleLine="true" maxLines="1" scrollHorizo​​ntally="false"

这些都没有任何效果。同样,如果我提供的字符串中没有空格,则省略号会正确显示。我错过了什么?我在 1.5、1.6、2.0 上试过这个,都是同样的问题。

谢谢

4

4 回答 4

12

Ellipsize 已损坏(对错误报告进行投票,特别是因为他们声称它不可重现),因此您必须使用小技巧。采用:

android:inputType="text"
android:maxLines="1"

在任何你想椭圆化的东西上。另外,不要使用singleLine,它自 1.5 以来已被弃用。

于 2009-11-09T20:38:44.863 回答
11

这是我可以在 SDK ver4 上工作的唯一组合:

android:ellipsize="end"
android:singleLine="true"

(是的,我知道它说它已被弃用,但我别无选择)

于 2010-09-02T19:37:15.840 回答
2

尝试:

textView.setSingleLine();
TruncateAt truncate = TruncateAt.END;
textView.setEllipsize(truncate);
于 2010-05-26T12:29:23.373 回答
0

简单的解决方案。

int limit = 9;
if (str.length() > limit) {
    textView.setText(str.substring(0, limit)+"...");
} else {
    textView.setText(str);
}
于 2013-02-15T08:18:39.977 回答