【发布时间】:2014-06-05 11:06:35
【问题描述】:
我正在用 android 写一个超过两行的文本现在我的问题是我如何缩进第二行我的文本行。
1.my name is qadeer hussain
iam fine how Ru.
但我想要
1.my name is qadeer hussain
iam fine how Ru.
这里的第二行不是从第一行的正下方开始,而是在名称的正下方
【问题讨论】:
标签: android
我正在用 android 写一个超过两行的文本现在我的问题是我如何缩进第二行我的文本行。
1.my name is qadeer hussain
iam fine how Ru.
但我想要
1.my name is qadeer hussain
iam fine how Ru.
这里的第二行不是从第一行的正下方开始,而是在名称的正下方
【问题讨论】:
标签: android
使用LeadingMarginSpan.Standard 和SpannableString,或者如果您还需要子弹,请使用BulletSpan:
只需像这样创建一个函数:
static SpannableString createIndentedText(String text, int marginFirstLine, int marginNextLines) {
SpannableString result=new SpannableString(text);
result.setSpan(new LeadingMarginSpan.Standard(marginFirstLine, marginNextLines),0,text.length(),0);
return result;
}
然后,每当您需要缩进的行时,您都可以这样做:
myTextView.setText(createIndentedText("my text that's gonna be indented", 10, 10));
第一个参数是第一行的缩进,第二个参数是下一行的缩进,以防你想将第一行的缩进与后面的不同。
【讨论】:
您可以使用 \t 来表示间距,使用 \n 来表示换行。您可以根据需要为文本使用尽可能多的新行和 \t 间距。以您为例:
textView.setSingleLine(false);
textView.setText("1.my name is qadeer hussain\n\tiam fine how Ru.");
【讨论】:
尝试在要缩进的内容之前使用\t。如果您需要进一步缩进,请使用更多
【讨论】: