Android 文本布局 Spacingmult 和 Spacingadd?

Android Text Layout Spacingmult and Spacingadd?

public StaticLayout (CharSequence source, int bufstart, int bufend, TextPaint paint, int outerwidth, Layout.Alignment align, float spacingmult, float spacingadd, boolean includepad, TextUtils.TruncateAt ellipsize, int ellipsizedWidth)

在 Android 中 StaticLayout 的构造函数中,整数参数 spacingmultspacingadd 的作用是什么?而且我也对 includepad 参数感到困惑。文档中没有解释。

看起来 spacingMult 通过将间距乘以提供的数字来更改间距,spacingAdd 将提供的数字添加到原始间距值和 includePad 额外间距的因素某些语言。

如果 Google 没有您感兴趣的某些内容的文档,有时查看源代码中的注释会很有帮助。例如,如果您查看 StaticLayout.java 文件,您会看到构造函数使用 spacingMultspacingAdd 参数调用另一个方法作为该方法的参数。该方法的注释如下:

/**
* Set line spacing parameters. The default is 0.0 for {@code spacingAdd}
 * and 1.0 for {@code spacingMult}.
 *
 * @param spacingAdd line spacing add
 * @param spacingMult line spacing multiplier
 * @return this builder, useful for chaining
 * @see android.widget.TextView#setLineSpacing
 */

这是他们在其中提到的 setLineSpacing() 的评论。

/**
 * Sets line spacing for this TextView.  Each line will have its height
 * multiplied by <code>mult</code> and have <code>add</code> added to it.
 *
 * @attr ref android.R.styleable#TextView_lineSpacingExtra
 * @attr ref android.R.styleable#TextView_lineSpacingMultiplier
 */

includePad也是如此:

/**
 * Set whether to include extra space beyond font ascent and descent (which is
 * needed to avoid clipping in some languages, such as Arabic and Kannada). The
 * default is {@code true}.
 *
 * @param includePad whether to include padding
 * @return this builder, useful for chaining
 * @see android.widget.TextView#setIncludeFontPadding
 */