我有一个文本视图。如果长于可用宽度,我希望它变成椭圆形。除非输入字符串没有空格,否则这不起作用......任何人都可以提供这个工作的例子吗?我尝试了不同的组合:
singleLine="true" maxLines="1" scrollHorizontally="false"
这些都没有任何效果。同样,如果我提供的字符串中没有空格,则省略号会正确显示。我错过了什么?我在 1.5、1.6、2.0 上试过这个,都是同样的问题。
谢谢
我有一个文本视图。如果长于可用宽度,我希望它变成椭圆形。除非输入字符串没有空格,否则这不起作用......任何人都可以提供这个工作的例子吗?我尝试了不同的组合:
singleLine="true" maxLines="1" scrollHorizontally="false"
这些都没有任何效果。同样,如果我提供的字符串中没有空格,则省略号会正确显示。我错过了什么?我在 1.5、1.6、2.0 上试过这个,都是同样的问题。
谢谢
Ellipsize 已损坏(对错误报告进行投票,特别是因为他们声称它不可重现),因此您必须使用小技巧。采用:
android:inputType="text"
android:maxLines="1"
在任何你想椭圆化的东西上。另外,不要使用singleLine
,它自 1.5 以来已被弃用。
这是我可以在 SDK ver4 上工作的唯一组合:
android:ellipsize="end"
android:singleLine="true"
(是的,我知道它说它已被弃用,但我别无选择)
尝试:
textView.setSingleLine();
TruncateAt truncate = TruncateAt.END;
textView.setEllipsize(truncate);
简单的解决方案。
int limit = 9;
if (str.length() > limit) {
textView.setText(str.substring(0, limit)+"...");
} else {
textView.setText(str);
}