We just launched Compose Examples featuring over 150+ components! Check it out →

OutlinedButton

Common

Component in Material Compose

Outlined buttons are medium-emphasis buttons. They contain actions that are important, but aren't the primary action in an app.

Outlined button
image

Last updated:

Installation

dependencies {
   implementation("androidx.compose.material:material:1.8.0-alpha04")
}

Overloads

@Composable
@NonRestartableComposable
fun OutlinedButton(
    onClick: () -> Unit,
    modifier: Modifier = Modifier,
    enabled: Boolean = true,
    interactionSource: MutableInteractionSource? = null,
    elevation: ButtonElevation? = null,
    shape: Shape = MaterialTheme.shapes.small,
    border: BorderStroke? = ButtonDefaults.outlinedBorder,
    colors: ButtonColors = ButtonDefaults.outlinedButtonColors(),
    contentPadding: PaddingValues = ButtonDefaults.ContentPadding,
    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
interactionSourcean 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.
elevation[ButtonElevation] used to resolve the elevation for this button in different states. An OutlinedButton 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
colors[ButtonColors] that will be used to resolve the background and content color for this button in different states. See [ButtonDefaults.outlinedButtonColors].
contentPaddingThe spacing values to apply internally between the container and the content
contentThe content displayed on the button, expected to be text, icon or image.

Code Example

OutlinedButtonSample

@Composable
fun OutlinedButtonSample() {
    OutlinedButton(onClick = { /* Do something! */ }) { Text("Outlined Button") }
}
by @alexstyl