领先保证金的含义是什么?
文件LeadingMarginSpan 说
影响前导边距的段落样式.单个段落可以有多个主要边距跨度; 它们将按顺序呈现,每个都将其边距添加到它之前的边距.右边到左边的段落中的前导边距位于右边.
但它并没有真正说明领先优势是什么.
它是否像段落第一行的制表符缩进?或者它是整个段落缩进的地方?我认为它是/lidɪŋ/而不是/lɛdɪŋ/就像在行之间的空间一样.
我想知道的原因是我正在尝试使用StaticLayout创建自己的TextView.我指的是想法的Layout和StaticLayout 源代码.我试图删除所有不必要的部分,但我不知道这是什么.
以下是一些SO问题,也询问领先优势,但问题似乎知道这意味着什么.
图像确实很有用,但并非绝对必要.
我使用a的基本和非常常见的实现LeadingMarginSpan2来围绕图像包装文本(因为它似乎是最简单的方法,请不要建议我WebView在此时使用s):
public class MyLeadingMarginSpan2 implements LeadingMarginSpan.LeadingMarginSpan2 {
private int margin;
private int lines;
public MyLeadingMarginSpan2(int lines, int margin) {
this.margin = margin;
this.lines = lines;
}
@Override
public int getLeadingMargin(boolean first) {
return first ? margin : 0; // <--- the issue is here
}
@Override
public void drawLeadingMargin(Canvas c, Paint p, int x, int dir,
int top, int baseline, int bottom, CharSequence text,
int start, int end, boolean first, Layout layout) {
}
@Override
public …Run Code Online (Sandbox Code Playgroud)