Shi*_*own 12 string android textview
我想仅为TextView的第一行设置起始边距(不是每个段落的第一行)?我使用了以下代码:
SpannableString s = new SpannableString("this is a test"+"\n"+"this is a test");
s.setSpan(new android.text.style.LeadingMarginSpan.Standard(30, 0), 0, s.length(), 0);
textView .setText(s);
Run Code Online (Sandbox Code Playgroud)
这里为段落的所有行开始设置边距.我不希望这样.我想将起始保证金仅适用于第一行..请帮忙..
你实际上已经回答了自己的问题.
您需要做的就是将span lenght设置为1而不是s.length().
if (s.lenght() > 0) {
s.setSpan(new android.text.style.LeadingMarginSpan.Standard(30, 0), 0, 1, 0);
}
Run Code Online (Sandbox Code Playgroud)
这样,保证金只会应用于第一段.
正如这里所建议的,我也认为最好的解决方案是在开头简单地添加一些空格。如果您只需要第一行的边距空间TextView,我不认为您需要做一些真正高级的事情。
如果稍后需要更改或使用 TextView 中的文本,则可以使用该substring()方法仅获取字符串的一部分,即s.substring(2, s.length());
这不是一个完美的解决方案,但我认为它可以。
| 归档时间: |
|
| 查看次数: |
5614 次 |
| 最近记录: |