LineBreakConfig.Builder


public static final class LineBreakConfig.Builder
extends Object

java.lang.Object
   ↳ android.graphics.text.LineBreakConfig.Builder


A builder for creating a LineBreakConfig instance.

Summary

Public constructors

Builder()

Builder constructor.

Public methods

LineBreakConfig build()

Builds a LineBreakConfig instance.

LineBreakConfig.Builder merge(LineBreakConfig config)

Merges line break config with other config Update the internal configurations with passed config.

LineBreakConfig.Builder setHyphenation(int hyphenation)

Sets the hyphenation preference Note: Even if the LineBreakConfig#HYPHENATION_ENABLED is specified, the hyphenation will not be performed if the TextView or underlying StaticLayout, LineBreaker are configured with LineBreaker#HYPHENATION_FREQUENCY_NONE.

LineBreakConfig.Builder setLineBreakStyle(int lineBreakStyle)

Sets the line-break style.

LineBreakConfig.Builder setLineBreakWordStyle(int lineBreakWordStyle)

Sets the line-break word style.

Inherited methods

Public constructors

Builder

Added in API level 33
public Builder ()

Builder constructor.

Public methods

build

Added in API level 33
public LineBreakConfig build ()

Builds a LineBreakConfig instance. This method can be called multiple times for generating multiple LineBreakConfig instances.

Returns
LineBreakConfig The LineBreakConfig instance. This value cannot be null.

merge

public LineBreakConfig.Builder merge (LineBreakConfig config)

Merges line break config with other config Update the internal configurations with passed config. If the config values of passed config are unspecified, the original config values are kept. For example, the following code passes config that has LineBreakConfig.LINE_BREAK_STYLE_UNSPECIFIED. This code generates LineBreakConfig that has line break config LineBreakConfig.LINE_BREAK_STYLE_STRICT.

     val override = LineBreakConfig.Builder()
          .setLineBreakWordStyle(LineBreakConfig.LINE_BREAK_WORD_STYLE_PHRASE)
          .build();  // UNSPECIFIED if no setLineBreakStyle is called.
     val config = LineBreakConfig.Builder()
          .setLineBreakStyle(LineBreakConfig.LINE_BREAK_STYLE_STRICT)
          .merge(override)
          .build()
     // Here, config has LINE_BREAK_STYLE_STRICT of line break config and
     // LINE_BREAK_WORD_STYLE_PHRASE of line break word style.
 

Parameters
config LineBreakConfig: an override line break config This value cannot be null.

Returns
LineBreakConfig.Builder This Builder. This value cannot be null.

setHyphenation

public LineBreakConfig.Builder setHyphenation (int hyphenation)

Sets the hyphenation preference Note: Even if the LineBreakConfig#HYPHENATION_ENABLED is specified, the hyphenation will not be performed if the TextView or underlying StaticLayout, LineBreaker are configured with LineBreaker#HYPHENATION_FREQUENCY_NONE. Note: Even if the hyphenation is enabled with a line break strategy LineBreaker#BREAK_STRATEGY_SIMPLE, the hyphenation will not be performed unless a single word cannot meet width constraints.

Parameters
hyphenation int: The hyphenation preference. Value is LineBreakConfig.HYPHENATION_UNSPECIFIED, LineBreakConfig.HYPHENATION_ENABLED, or LineBreakConfig.HYPHENATION_DISABLED

Returns
LineBreakConfig.Builder This Builder. This value cannot be null.

setLineBreakWordStyle

Added in API level 33
public LineBreakConfig.Builder setLineBreakWordStyle (int lineBreakWordStyle)

Sets the line-break word style.

Parameters
lineBreakWordStyle int: The new line-break word style. Value is LineBreakConfig.LINE_BREAK_WORD_STYLE_NONE, LineBreakConfig.LINE_BREAK_WORD_STYLE_PHRASE, LineBreakConfig.LINE_BREAK_WORD_STYLE_UNSPECIFIED, or LineBreakConfig.LINE_BREAK_WORD_STYLE_AUTO

Returns
LineBreakConfig.Builder This Builder. This value cannot be null.