Button
Android
@Composable
public fun Button(
onClick: () -> Unit,
modifier: Modifier = Modifier,
enabled: Boolean = true,
buttonSize: ButtonSize = ButtonSize.Medium,
leadingIcon: @Composable (() -> Unit)? = null,
trailingIcon: @Composable (() -> Unit)? = null,
shape: Shape = GlimmerTheme.shapes.large,
color: Color = GlimmerTheme.colors.surface,
contentColor: Color = calculateContentColor(color),
border: BorderStroke? = SurfaceDefaults.border(),
contentPadding: PaddingValues = ButtonDefaults.contentPadding(buttonSize),
interactionSource: MutableInteractionSource? = null,
content: @Composable RowScope.() -> Unit,
)
Parameters
| onClick | called when this button is clicked |
| modifier | the Modifier to be applied to this button |
| enabled | controls the enabled state of this button. When false, this button will not respond to user input |
| buttonSize | the size variant of this button, represented as a ButtonSize. Changing buttonSize will affect some default values used by this button - but the final resulting size of the button will still be calculated based on the content of the button, and any provided size modifiers such as androidx.compose.foundation.layout.size. For example, setting a 100.dp size using a size modifier will result in the same layout size regardless of buttonSize, but the provided buttonSize will affect other properties such as padding values and the size of icons. |
| leadingIcon | optional leading icon to be placed before the content. This is typically an Icon. |
| trailingIcon | optional trailing icon to be placed after the content. This is typically an Icon. |
| shape | the Shape used to clip this button, and also used to draw the background and border |
| color | background color of this button |
| contentColor | content color used by components inside content, leadingIcon, and trailingIcon. |
| border | the border to draw around this button |
| contentPadding | the spacing values to apply internally between the container and the content |
| interactionSource | an optional 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. Note that if null is provided, interactions will still happen internally. |
| content | the main content, typically Text, to display inside this button |