WideButton
Composable Component
Material Design wide button for TV.
Android
@Composable
fun WideButton(
onClick: () -> Unit,
modifier: Modifier = Modifier,
onLongClick: (() -> Unit)? = null,
enabled: Boolean = true,
interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
background: @Composable () -> Unit = {
WideButtonDefaults.Background(enabled = enabled, interactionSource = interactionSource)
},
scale: ButtonScale = WideButtonDefaults.scale(),
glow: ButtonGlow = WideButtonDefaults.glow(),
shape: ButtonShape = WideButtonDefaults.shape(),
contentColor: WideButtonContentColor = WideButtonDefaults.contentColor(),
tonalElevation: Dp = Elevation.Level0,
border: ButtonBorder = WideButtonDefaults.border(),
contentPadding: PaddingValues = WideButtonDefaults.ContentPadding,
content: @Composable RowScope.() -> Unit,
)
Parameters
| 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. |
| interactionSource | a hoisted MutableInteractionSource for observing and emitting Interactions for this button. You can use this to change the button's appearance or preview the button in different states. |
| background | the background to be applied to the WideButton |
| 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. |
| contentColor | Color to be used for the text 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 |
| content | the content of the button |
Android
@Composable
fun WideButton(
onClick: () -> Unit,
title: @Composable () -> Unit,
modifier: Modifier = Modifier,
onLongClick: (() -> Unit)? = null,
enabled: Boolean = true,
icon: (@Composable () -> Unit)? = null,
subtitle: (@Composable () -> Unit)? = null,
interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
background: @Composable () -> Unit = {
WideButtonDefaults.Background(enabled = enabled, interactionSource = interactionSource)
},
scale: ButtonScale = WideButtonDefaults.scale(),
glow: ButtonGlow = WideButtonDefaults.glow(),
shape: ButtonShape = WideButtonDefaults.shape(),
contentColor: WideButtonContentColor = WideButtonDefaults.contentColor(),
tonalElevation: Dp = Elevation.Level0,
border: ButtonBorder = WideButtonDefaults.border(),
contentPadding: PaddingValues = WideButtonDefaults.ContentPadding,
)
Parameters
| onClick | called when this button is clicked |
| title | the title content of the button, typically a Text |
| 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. |
| icon | the leading icon content of the button, typically an Icon |
| subtitle | the subtitle content of the button, typically a Text |
| interactionSource | a hoisted MutableInteractionSource for observing and emitting Interactions for this button. You can use this to change the button's appearance or preview the button in different states. |
| background | the background to be applied to the WideButton |
| 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. |
| contentColor | Color to be used for the text 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 |
Code Examples
WideButtonSample
@Composable
fun WideButtonSample() {
WideButton(onClick = {}) { Text("Settings") }
}
WideButtonWithIcon
@Composable
fun WideButtonWithIcon() {
WideButton(
onClick = {},
title = { Text("Settings") },
icon = { Icon(imageVector = Icons.Default.Settings, contentDescription = "Settings") },
)
}
WideButtonWithIconAndSubtitle
@Composable
fun WideButtonWithIconAndSubtitle() {
WideButton(
onClick = {},
title = { Text("Settings") },
subtitle = { Text(text = "Update device preferences") },
icon = { Icon(imageVector = Icons.Default.Settings, contentDescription = "Settings") },
)
}
WideButtonWithSubtitle
@Composable
fun WideButtonWithSubtitle() {
WideButton(
onClick = {},
title = { Text("Settings") },
subtitle = { Text(text = "Update device preferences") },
)
}