{% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %} {% include "_shared/_reference-head-tags.html" %}

LineBreak

value public final class LineBreak


When soft wrap is enabled and the width of the text exceeds the width of its container, line breaks are inserted in the text to split it over multiple lines.

There are a number of parameters that affect how the line breaks are inserted. For example, the breaking algorithm can be changed to one with improved readability at the cost of speed. Another example is the strictness, which in some languages determines which symbols can appear at the start of a line.

LineBreak represents a configuration for line breaking, offering several presets for different use cases: Simple, Heading, Paragraph.

import androidx.compose.material.Text
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.style.LineBreak
import androidx.compose.ui.unit.sp

Text(
    text = "Title of an article",
    style = TextStyle(
        fontSize = 20.sp,
        lineBreak = LineBreak.Heading
    )
)

Text(
    text = "A long paragraph in an article",
    style = TextStyle(
        lineBreak = LineBreak.Paragraph
    )
)

For further customization, each platform has its own parameters. An example on Android:

import androidx.compose.material.Text
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.style.LineBreak
import androidx.compose.ui.unit.sp

val customTitleLineBreak = LineBreak(
    strategy = LineBreak.Strategy.Simple,
    strictness = LineBreak.Strictness.Loose,
    wordBreak = LineBreak.WordBreak.Default
)

Text(
    text = "Title of an article",
    style = TextStyle(
        fontSize = 20.sp,
        lineBreak = customTitleLineBreak
    )
)

val defaultStrictnessParagraphLineBreak =
    LineBreak.Paragraph.copy(strictness = LineBreak.Strictness.Default)

Text(
    text = "A long paragraph in an article",
    style = TextStyle(
        lineBreak = defaultStrictnessParagraphLineBreak
    )
)

Summary

Nested types

public static class LineBreak.Companion
value public final class LineBreak.Strategy

The strategy used for line breaking.

public static class LineBreak.Strategy.Companion
value public final class LineBreak.Strictness

Describes the strictness of line breaking, determining before which characters line breaks can be inserted.

public static class LineBreak.Strictness.Companion
value public final class LineBreak.WordBreak

Describes how line breaks should be inserted within words.

public static class LineBreak.WordBreak.Companion

Public constructors

LineBreak(
    @NonNull LineBreak.Strategy strategy,
    @NonNull LineBreak.Strictness strictness,
    @NonNull LineBreak.WordBreak wordBreak
)

This represents a configuration for line breaking on Android, describing Strategy, Strictness, and WordBreak.

Public methods

final @NonNull LineBreak
copy(
    @NonNull LineBreak.Strategy strategy,
    @NonNull LineBreak.Strictness strictness,
    @NonNull LineBreak.WordBreak wordBreak
)
final @NonNull LineBreak.Strategy
final @NonNull LineBreak.Strictness
final @NonNull LineBreak.WordBreak
@NonNull String

Public constructors

LineBreak

public LineBreak(
    @NonNull LineBreak.Strategy strategy,
    @NonNull LineBreak.Strictness strictness,
    @NonNull LineBreak.WordBreak wordBreak
)

This represents a configuration for line breaking on Android, describing Strategy, Strictness, and WordBreak.

Parameters
@NonNull LineBreak.Strategy strategy

defines the algorithm that inserts line breaks

@NonNull LineBreak.Strictness strictness

defines the line breaking rules

@NonNull LineBreak.WordBreak wordBreak

defines how words are broken

Public methods

copy

public final @NonNull LineBreak copy(
    @NonNull LineBreak.Strategy strategy,
    @NonNull LineBreak.Strictness strictness,
    @NonNull LineBreak.WordBreak wordBreak
)

getStrategy

public final @NonNull LineBreak.Strategy getStrategy()

getStrictness

public final @NonNull LineBreak.Strictness getStrictness()

getWordBreak

public final @NonNull LineBreak.WordBreak getWordBreak()

toString

public @NonNull String toString()