无法在Android上使用省略号

时间:2009-11-09 03:00:06

标签: android android-widget

我有一个TextView。如果长度超过其可用宽度,我希望它椭圆形。除非输入字符串没有空格,否则这不起作用...任何人都可以提供此工作的示例吗?我尝试了不同的组合:

SINGLELINE = “真”  MAXLINES = “1”  scrollHorizo​​ntally = “假”

这些都没有任何影响。同样,如果我提供一个没有空格的字符串,那么省略号就会正确显示。我错过了什么?我已经在1.5,1.6,2.0上尝试过这个问题。

由于

4 个答案:

答案 0 :(得分:12)

Ellipsize被破坏了(去vote on the bug report,特别是因为他们声称它不可复制)所以你必须使用一个小的黑客。使用:

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

关于你想要的任何东西。另外,不要使用singleLine,它自1.5以来已被弃用。

答案 1 :(得分:11)

这是我可以使用SDK ver4的唯一组合:

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

(是的,我知道它已被弃用,但我没有选择)

答案 2 :(得分:2)

尝试:

textView.setSingleLine();
TruncateAt truncate = TruncateAt.END;
textView.setEllipsize(truncate);

答案 3 :(得分:0)

简单解决方案。

int limit = 9;
if (str.length() > limit) {
    textView.setText(str.substring(0, limit)+"...");
} else {
    textView.setText(str);
}