我是以编程方式创建一个TextView,我想在最后省略省略号.
伪代码:
tv.setEllipsize(TextUtils.TruncateAt.END);
tv.setHorizontallyScrolling(false);
tv.setSingleLine();
Run Code Online (Sandbox Code Playgroud)
以上工作很棒.
tv.setEllipsize(TextUtils.TruncateAt.END);
tv.setHorizontallyScrolling(false);
tv.setMaxLines(1);
Run Code Online (Sandbox Code Playgroud)
这不起作用.这是一个错误吗?我不明白为什么在指定maxLines时最后不能将文本转换为省略号,尤其是maxLine为1但是setSingleLine没问题.
ste*_*fan 60
setSingleLine()或者setSingleLine(true)阻止TextView将其高度更改为更多行,并强制TextView忽略换行符(\n字符串中的符号).
setMaxLines(int n) 显示TextView中显示的字符串的前n行,这些行由换行符分隔.
例如,让String为"我的第一行\n和我的第二行\n和第三行"
setSingleLine() 让TextView显示"我的第一行和我的..",因为超出了显示宽度setMaxLines(1) 导致"我的第一线"setMaxLines(2) 导致"我的第一行",并在一行"和我的第二行"之下setMaxLines(3) 显然对此示例字符串没有任何影响.更新:这应该适用于"setDoubleLine with truncation":
// optional: string.replace("\n",""); or string.replace("\n"," ");
tv.setSingleLine(false);
tv.setEllipsize(TextUtils.TruncateAt.END);
int n = 2; // the exact number of lines you want to display
tv.setLines(n);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32265 次 |
| 最近记录: |