前导边距是指段落缩进的程度,包括第一行和后续行。
下面的例子应该让一切都清楚。下面示例中的 TextView 包含两段文本(即,它们包括\n
字符)。
这是使用的样板代码:
LeadingMarginSpan span = ... // substitute this line with the examples below
TextView textView = (TextView) findViewById(R.id.textView) ;
SpannableString spannableString = new SpannableString("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.");
spannableString.setSpan(span, 0, spannableString.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spannableString);
有两个主要的构造函数。
第一个构造函数:LeadingMarginSpan.Standard(int first, int rest)
first
告诉每个段落的第一行缩进多少像素。
rest
告诉每个段落的其余行缩进多少像素。
左边的示例将第一行缩进 20 像素,其余行缩进 100 像素。(没有添加任何填充TextView
。)
LeadingMarginSpan span = new LeadingMarginSpan.Standard(20, 100); // left example
右边的例子显示了第一行缩进了 100,其余的行根本没有缩进。
LeadingMarginSpan span = new LeadingMarginSpan.Standard(100, 0); // right exmaple
第二个构造函数:LeadingMarginSpan.Standard(int every)
此示例将每行缩进 200 像素。
LeadingMarginSpan span = new LeadingMarginSpan.Standard(200);