Button
Android
Component in Tv Material Compose
Material Design filled button for TV.
Filled buttons are for high emphasis (important, final actions that complete a flow).
Choose the best button for an action based on the amount of emphasis it needs. The more important an action is, the higher emphasis its button should be.
- See [Button] for high emphasis (important, final actions that complete a flow).
- See [OutlinedButton] for a medium-emphasis button with a border.
The default text style for internal [Text] components will be set to [Typography.labelLarge].
Last updated:
Installation
dependencies {
implementation("androidx.tv:tv-material:1.0.0")
}
Overloads
@NonRestartableComposable
@Composable
fun Button(
onClick: () -> Unit,
modifier: Modifier = Modifier,
onLongClick: (() -> Unit)? = null,
enabled: Boolean = true,
scale: ButtonScale = ButtonDefaults.scale(),
glow: ButtonGlow = ButtonDefaults.glow(),
shape: ButtonShape = ButtonDefaults.shape(),
colors: ButtonColors = ButtonDefaults.colors(),
tonalElevation: Dp = Elevation.Level0,
border: ButtonBorder = ButtonDefaults.border(),
contentPadding: PaddingValues = ButtonDefaults.ContentPadding,
interactionSource: MutableInteractionSource? = null,
content: @Composable RowScope.() -> Unit
)
Parameters
name | description |
---|---|
onClick | called when this button is clicked |
modifier | the [Modifier] to be applied to this button |
onLongClick | called when this button is long clicked (long-pressed). |
enabled | controls 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. |
scale | Defines size of the Button relative to its original size. |
glow | Shadow to be shown behind the Button. |
shape | Defines the Button's shape. |
colors | Color to be used for background and content of the Button |
tonalElevation | tonal elevation used to apply a color shift to the button to give the it higher emphasis |
border | Defines a border around the Button. |
contentPadding | the spacing values to apply internally between the container and the content |
interactionSource | an optional hoisted [MutableInteractionSource] for observing and emitting [Interaction]s for this button. You can use this to change the button's appearance or preview the button in different states. Note that if null is provided, interactions will still happen internally. |
content | the content of the button |
Code Examples
ButtonSample
@Composable
fun ButtonSample() {
Button(onClick = {}) { Text("Button") }
}
LikeButtonSample
@Composable
fun LikeButtonSample() {
Button(
onClick = { /* Do something! */ },
contentPadding = ButtonDefaults.ButtonWithIconContentPadding
) {
Icon(
Icons.Filled.Favorite,
contentDescription = "Localized description",
modifier = Modifier.size(ButtonDefaults.IconSize)
)
Spacer(Modifier.size(ButtonDefaults.IconSpacing))
Text("Like")
}
}