by @alexstyl
✉️ Leave your feedback

← Back to Compose Multiplatform

TextButton

Component
in
Compose Multiplatform
. Since 1.3.0-beta01

Overview

Examples

Community Notes

Video

<a href="https://m3.material.io/components/buttons/overview" class="external" target="_blank">Material Design text button</a>.

Buttons help people initiate actions, from sending an email, to sharing a document, to liking a post.

!Text button image(https://developer.android.com/images/reference/androidx/compose/material3/text-button.png)

Text buttons are typically used for less-pronounced actions, including those located in dialogs and cards. In cards, text buttons help maintain an emphasis on card content. Text buttons are used for the lowest priority actions, especially when presenting multiple options.

Overloads

TextButton

@Composable
fun TextButton(
    onClick: () -> Unit,
    modifier: Modifier = Modifier,
    enabled: Boolean = true,
    shape: Shape = ButtonDefaults.textShape,
    colors: ButtonColors = ButtonDefaults.textButtonColors(),
    elevation: ButtonElevation? = null,
    border: BorderStroke? = null,
    contentPadding: PaddingValues = ButtonDefaults.TextButtonContentPadding,
    interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
    content: @Composable RowScope.() -> Unit
)

Parameters

NameDescription
onClickcalled when this button is clicked
modifierthe Modifier to be applied to this button
enabledcontrols the enabled state of this button. When false, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.
shapedefines the shape of this button's container, border (when border is not null), and shadow (when using elevation)
colorsButtonColors that will be used to resolve the colors for this button in different states. See ButtonDefaults.textButtonColors.
elevationButtonElevation used to resolve the elevation for this button in different states. This controls the size of the shadow below the button. Additionally, when the container color is ColorScheme.surface, this controls the amount of primary color applied as an overlay. A TextButton typically has no elevation, and the default value is null. See ElevatedButton for a button with elevation.
borderthe border to draw around the container of this button
contentPaddingthe spacing values to apply internally between the container and the content
interactionSourcethe MutableInteractionSource representing the stream of Interactions for this button. You can create and pass in your own remembered instance to observe Interactions and customize the appearance / behavior of this button in different states

TextButton

@Composable
@NonRestartableComposable
fun TextButton(
    onClick: () -> Unit,
    modifier: Modifier = Modifier,
    enabled: Boolean = true,
    interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
    elevation: ButtonElevation? = null,
    shape: Shape = MaterialTheme.shapes.small,
    border: BorderStroke? = null,
    colors: ButtonColors = ButtonDefaults.textButtonColors(),
    contentPadding: PaddingValues = ButtonDefaults.TextButtonContentPadding,
    content: @Composable RowScope.() -> Unit
)

Parameters

NameDescription
onClickWill be called when the user clicks the button
modifierModifier to be applied to the button
enabledControls the enabled state of the button. When false, this button will not be clickable
interactionSourcethe MutableInteractionSource representing the stream of Interactions for this Button. You can create and pass in your own remembered MutableInteractionSource if you want to observe Interactions and customize the appearance / behavior of this Button in different Interactions.
elevationButtonElevation used to resolve the elevation for this button in different states. A TextButton typically has no elevation, see Button for a button with elevation.
shapeDefines the button's shape as well as its shadow
borderBorder to draw around the button
colorsButtonColors that will be used to resolve the background and content color for this button in different states. See ButtonDefaults.textButtonColors.
contentPaddingThe spacing values to apply internally between the container and the conten
Previous ComponentText
Next ComponentTextField