Most visited

Recently visited

Added in API level 23

StaticLayout.Builder

public static final class StaticLayout.Builder
extends Object

java.lang.Object
   ↳ android.text.StaticLayout.Builder


生成器用于静态布局。 构建器是构建StaticLayout对象的较新模式,应该优先于构造函数,特别是访问较新的特性。 为了建立一个静态布局,第一呼叫obtain(CharSequence, int, int, TextPaint, int)与必需参数(文本,油漆,和宽度),然后调用setter方法可选参数,最后build()构建StaticLayout对象。 未明确设置的参数将获得默认值。

Summary

Public methods

StaticLayout build()

选项设置 StaticLayout后生成 StaticLayout

static StaticLayout.Builder obtain(CharSequence source, int start, int end, TextPaint paint, int width)

获取用于构建StaticLayout对象的构建器

StaticLayout.Builder setAlignment(Layout.Alignment alignment)

设置对齐。

StaticLayout.Builder setBreakStrategy(int breakStrategy)

设置休息策略,对选择高质量或平衡的段落布局选项很有用。

StaticLayout.Builder setEllipsize(TextUtils.TruncateAt ellipsize)

在布局上设置椭圆。

StaticLayout.Builder setEllipsizedWidth(int ellipsizedWidth)

设置用于椭圆化目的的宽度,如果它不同于普通布局宽度。

StaticLayout.Builder setHyphenationFrequency(int hyphenationFrequency)

设置连字符频率,控制使用的自动连字符的数量。

StaticLayout.Builder setIncludePad(boolean includePad)

设置是否包含字体上升和下降之外的额外空间(避免在某些语言(如阿拉伯文和卡纳达语)中进行裁剪所需的空间)。

StaticLayout.Builder setIndents(int[] leftIndents, int[] rightIndents)

设置缩进。

StaticLayout.Builder setLineSpacing(float spacingAdd, float spacingMult)

设置行距参数。

StaticLayout.Builder setMaxLines(int maxLines)

设置最大行数。

StaticLayout.Builder setText(CharSequence source)
StaticLayout.Builder setTextDirection(TextDirectionHeuristic textDir)

设置文本方向启发式。

Protected methods

void finalize()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。

Inherited methods

From class java.lang.Object

Public methods

build

Added in API level 23
StaticLayout build ()

选项设置 StaticLayout后生成 StaticLayout

注意:调用此方法后,构建器对象不得以任何方式重用。 在调用此方法后设置参数或在同一构建器对象上再次调用该参数可能会导致意外的结果。

Returns
StaticLayout the newly constructed StaticLayout object

obtain

Added in API level 23
StaticLayout.Builder obtain (CharSequence source, 
                int start, 
                int end, 
                TextPaint paint, 
                int width)

获取用于构建StaticLayout对象的构建器

Parameters
source CharSequence: The text to be laid out, optionally with spans
start int: The index of the start of the text
end int: The index + 1 of the end of the text
paint TextPaint: The base paint used for layout
width int: The width in pixels
Returns
StaticLayout.Builder a builder object used for constructing the StaticLayout

setAlignment

Added in API level 23
StaticLayout.Builder setAlignment (Layout.Alignment alignment)

设置对齐。 默认值是ALIGN_NORMAL

Parameters
alignment Layout.Alignment: Alignment for the resulting StaticLayout
Returns
StaticLayout.Builder this builder, useful for chaining

setBreakStrategy

Added in API level 23
StaticLayout.Builder setBreakStrategy (int breakStrategy)

设置休息策略,对选择高质量或平衡的段落布局选项很有用。 默认值是BREAK_STRATEGY_SIMPLE

Parameters
breakStrategy int: break strategy for paragraph layout
Returns
StaticLayout.Builder this builder, useful for chaining

也可以看看:

setEllipsize

Added in API level 23
StaticLayout.Builder setEllipsize (TextUtils.TruncateAt ellipsize)

在布局上设置椭圆。 导致比视图更长的单词宽或超过ENDMARQUEE的情况下的行数(请参阅#setMaxLines),以省略而不是损坏。 缺省值为null ,表示不应用省略号。

Parameters
ellipsize TextUtils.TruncateAt: type of ellipsis behavior
Returns
StaticLayout.Builder this builder, useful for chaining

也可以看看:

setEllipsizedWidth

Added in API level 23
StaticLayout.Builder setEllipsizedWidth (int ellipsizedWidth)

设置用于椭圆化目的的宽度,如果它不同于普通布局宽度。 默认值是width传递给obtain(CharSequence, int, int, TextPaint, int)

Parameters
ellipsizedWidth int: width used for ellipsizing, in pixels
Returns
StaticLayout.Builder this builder, useful for chaining

也可以看看:

setHyphenationFrequency

Added in API level 23
StaticLayout.Builder setHyphenationFrequency (int hyphenationFrequency)

设置连字符频率,控制使用的自动连字符的数量。 默认值是HYPHENATION_FREQUENCY_NONE

Parameters
hyphenationFrequency int: hyphenation frequency for the paragraph
Returns
StaticLayout.Builder this builder, useful for chaining

也可以看看:

setIncludePad

Added in API level 23
StaticLayout.Builder setIncludePad (boolean includePad)

设置是否包含字体上升和下降之外的额外空间(避免在某些语言(如阿拉伯文和卡纳达语)中进行裁剪所需的空间)。 默认值是true

Parameters
includePad boolean: whether to include padding
Returns
StaticLayout.Builder this builder, useful for chaining

也可以看看:

setIndents

Added in API level 23
StaticLayout.Builder setIndents (int[] leftIndents, 
                int[] rightIndents)

设置缩进。 参数是一个数组,其中包含一个缩进量,每行一个,以像素为单位。 对于数组中最后一个元素的行,最后一个元素重复。

Parameters
leftIndents int: array of indent values for left margin, in pixels
rightIndents int: array of indent values for right margin, in pixels
Returns
StaticLayout.Builder this builder, useful for chaining

setLineSpacing

Added in API level 23
StaticLayout.Builder setLineSpacing (float spacingAdd, 
                float spacingMult)

设置行距参数。 默认值是0.0 spacingAdd和1.0 spacingMult

Parameters
spacingAdd float: line spacing add
spacingMult float: line spacing multiplier
Returns
StaticLayout.Builder this builder, useful for chaining

也可以看看:

setMaxLines

Added in API level 23
StaticLayout.Builder setMaxLines (int maxLines)

设置最大行数。 这在椭圆化的情况下特别有用,它改变了最后一行的布局。 默认值是无限的。

Parameters
maxLines int: maximum number of lines in the layout
Returns
StaticLayout.Builder this builder, useful for chaining

也可以看看:

setText

Added in API level 23
StaticLayout.Builder setText (CharSequence source)

Parameters
source CharSequence
Returns
StaticLayout.Builder

setTextDirection

Added in API level 23
StaticLayout.Builder setTextDirection (TextDirectionHeuristic textDir)

设置文本方向启发式。 文本方向启发式用于基于输入文本基于每段来解析文本方向。 默认值是FIRSTSTRONG_LTR

Parameters
textDir TextDirectionHeuristic: text direction heuristic for resolving BiDi behavior.
Returns
StaticLayout.Builder this builder, useful for chaining

Protected methods

finalize

Added in API level 23
void finalize ()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类会覆盖finalize方法来处理系统资源或执行其他清理。

的常规协定finalize是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 finalize方法可以采取任何行动,包括使该对象再次可用于其他线程; 然而, finalize的通常目的是在对象不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。

Objectfinalize方法Object执行特殊操作; 它只是正常返回。 Object子类可能会覆盖此定义。

Java编程语言不能保证哪个线程将为任何给定的对象调用finalize方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。

在针对一个对象调用了 finalize方法之后,在Java虚拟机再次确定不再有任何方法可以通过尚未死亡的任何线程访问此对象,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。

对于任何给定的对象,Java虚拟机永远不会多次调用 finalize方法。

finalize方法抛出的任何异常 finalize导致终止此对象的终止,但会被忽略。

Throws
Throwable

Hooray!