Text

Composable Component

High level element that displays text and provides semantics / accessibility information.

Android
@Composable
public fun Text(
    text: String,
    modifier: Modifier = Modifier,
    color: Color = Color.Unspecified,
    fontSize: TextUnit = TextUnit.Unspecified,
    fontStyle: FontStyle? = null,
    fontWeight: FontWeight? = null,
    fontFamily: FontFamily? = null,
    letterSpacing: TextUnit = TextUnit.Unspecified,
    textDecoration: TextDecoration? = null,
    textAlign: TextAlign? = LocalTextConfiguration.current.textAlign,
    lineHeight: TextUnit = TextUnit.Unspecified,
    overflow: TextOverflow = LocalTextConfiguration.current.overflow,
    softWrap: Boolean = true,
    maxLines: Int = LocalTextConfiguration.current.maxLines,
    minLines: Int = 1,
    onTextLayout: (TextLayoutResult) -> Unit = {},
    style: TextStyle = LocalTextStyle.current,
)

Parameters

textThe text to be displayed.
modifierModifier to apply to this layout node.
colorColor to apply to the text. If Color.Unspecified, and style has no color set, this will be LocalContentColor.
fontSizeThe size of glyphs to use when painting the text. See TextStyle.fontSize.
fontStyleThe typeface variant to use when drawing the letters (e.g., italic). See TextStyle.fontStyle.
fontWeightThe typeface thickness to use when painting the text (e.g., FontWeight.Bold).
fontFamilyThe font family to be used when rendering the text. See TextStyle.fontFamily.
letterSpacingThe amount of space to add between each letter. See TextStyle.letterSpacing.
textDecorationThe decorations to paint on the text (e.g., an underline). See TextStyle.textDecoration.
textAlignThe alignment of the text within the lines of the paragraph. See TextStyle.textAlign.
lineHeightLine height for the Paragraph in TextUnit unit, e.g. SP or EM. See TextStyle.lineHeight.
overflowHow visual overflow should be handled.
softWrapWhether the text should break at soft line breaks. If false, the glyphs in the text will be positioned as if there was unlimited horizontal space. If softWrap is false, overflow and TextAlign may have unexpected effects.
maxLinesAn optional maximum number of lines for the text to span, wrapping if necessary. If the text exceeds the given number of lines, it will be truncated according to overflow and softWrap. If it is not null, then it must be greater than zero.
minLinesThe minimum height in terms of minimum number of visible lines. It is required that 1 <= minLines <= maxLines.
onTextLayoutCallback that is executed when a new text layout is calculated. A TextLayoutResult object that callback provides contains paragraph information, size of the text, baselines and other details. The callback can be used to add additional decoration or functionality to the text. For example, to draw selection around the text.
styleStyle configuration for the text such as color, font, line height etc.
Android
@Composable
public fun Text(
    text: AnnotatedString,
    modifier: Modifier = Modifier,
    color: Color = Color.Unspecified,
    fontSize: TextUnit = TextUnit.Unspecified,
    fontStyle: FontStyle? = null,
    fontWeight: FontWeight? = null,
    fontFamily: FontFamily? = null,
    letterSpacing: TextUnit = TextUnit.Unspecified,
    textDecoration: TextDecoration? = null,
    textAlign: TextAlign? = LocalTextConfiguration.current.textAlign,
    lineHeight: TextUnit = TextUnit.Unspecified,
    overflow: TextOverflow = LocalTextConfiguration.current.overflow,
    softWrap: Boolean = true,
    maxLines: Int = LocalTextConfiguration.current.maxLines,
    minLines: Int = 1,
    inlineContent: Map<String, InlineTextContent> = mapOf(),
    onTextLayout: (TextLayoutResult) -> Unit = {},
    style: TextStyle = LocalTextStyle.current,
)

Parameters

textThe text to be displayed, where AnnotatedString allows multiple styles to be used.
modifierModifier to apply to this layout node.
colorColor to apply to the text. If Color.Unspecified, and style has no color set, this will be LocalContentColor.
fontSizeThe size of glyphs to use when painting the text. See TextStyle.fontSize.
fontStyleThe typeface variant to use when drawing the letters (e.g., italic). See TextStyle.fontStyle.
fontWeightThe typeface thickness to use when painting the text (e.g., FontWeight.Bold).
fontFamilyThe font family to be used when rendering the text. See TextStyle.fontFamily.
letterSpacingThe amount of space to add between each letter. See TextStyle.letterSpacing.
textDecorationThe decorations to paint on the text (e.g., an underline). See TextStyle.textDecoration.
textAlignThe alignment of the text within the lines of the paragraph. See TextStyle.textAlign.
lineHeightLine height for the Paragraph in TextUnit unit, e.g. SP or EM. See TextStyle.lineHeight.
overflowHow visual overflow should be handled.
softWrapWhether the text should break at soft line breaks. If false, the glyphs in the text will be positioned as if there was unlimited horizontal space. If softWrap is false, overflow and TextAlign may have unexpected effects.
maxLinesAn optional maximum number of lines for the text to span, wrapping if necessary. If the text exceeds the given number of lines, it will be truncated according to overflow and softWrap. If it is not null, then it must be greater than zero.
minLinesThe minimum height in terms of minimum number of visible lines. It is required that 1 <= minLines <= maxLines.
inlineContentA map store composables that replaces certain ranges of the text. It's used to insert composables into text layout. Check InlineTextContent for more information.
onTextLayoutCallback that is executed when a new text layout is calculated. A TextLayoutResult object that callback provides contains paragraph information, size of the text, baselines and other details. The callback can be used to add additional decoration or functionality to the text. For example, to draw selection around the text.
styleStyle configuration for the text such as color, font, line height etc.