State of Compose 2023 results are in! Click here to learn more

← Back to Material 3 Compose

FilledTonalButton

Component
in
Material 3
. Since 1.0.0

Overview

Code Examples

Video

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

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

!Filled tonal button image(https://developer.android.com/images/reference/androidx/compose/material3/filled-tonal-button.png)

Filled tonal buttons are medium-emphasis buttons that is an alternative middle ground between default Buttons (filled) and OutlinedButtons. They can be used in contexts where lower-priority button requires slightly more emphasis than an outline would give, such as "Next" in an onboarding flow. Tonal buttons use the secondary color mapping.

Overloads

FilledTonalButton

@Composable
fun FilledTonalButton(
    onClick: () -> Unit,
    modifier: Modifier = Modifier,
    enabled: Boolean = true,
    shape: Shape = ButtonDefaults.filledTonalShape,
    colors: ButtonColors = ButtonDefaults.filledTonalButtonColors(),
    elevation: ButtonElevation? = ButtonDefaults.filledTonalButtonElevation(),
    border: BorderStroke? = null,
    contentPadding: PaddingValues = ButtonDefaults.ContentPadding,
    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.filledTonalButtonColors.
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.
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