我有一个TextView。如果长度超过其可用宽度,我希望它椭圆形。除非输入字符串没有空格,否则这不起作用...任何人都可以提供此工作的示例吗?我尝试了不同的组合:
SINGLELINE = “真” MAXLINES = “1” scrollHorizontally = “假”
这些都没有任何影响。同样,如果我提供一个没有空格的字符串,那么省略号就会正确显示。我错过了什么?我已经在1.5,1.6,2.0上尝试过这个问题。
由于
答案 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);
}