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

← Back to Material 3 Compose

IconButton

Component
in
Material 3
. Since 1.0.0

Overview

Code Examples

Video

<a href="https://m3.material.io/components/icon-button/overview" class="external" target="_blank">Material Design standard icon button</a>.

Icon buttons help people take supplementary actions with a single tap. They’re used when a compact button is required, such as in a toolbar or image list.

!Standard icon button image(https://developer.android.com/images/reference/androidx/compose/material3/standard-icon-button.png)

content should typically be an Icon (see androidx.compose.material.icons.Icons). If using a custom icon, note that the typical size for the internal icon is 24 x 24 dp. This icon button has an overall minimum touch target size of 48 x 48dp, to meet accessibility guidelines.

Overloads

IconButton

@Composable
fun IconButton(
    onClick: () -> Unit,
    modifier: Modifier = Modifier,
    enabled: Boolean = true,
    colors: IconButtonColors = IconButtonDefaults.iconButtonColors(),
    interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
    content: @Composable () -> Unit
)

Parameters

NameDescription
onClickcalled when this icon button is clicked
modifierthe Modifier to be applied to this icon button
enabledcontrols the enabled state of this icon button. When false, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.
colorsIconButtonColors that will be used to resolve the colors used for this icon button in different states. See IconButtonDefaults.iconButtonColors.
interactionSourcethe MutableInteractionSource representing the stream of Interactions for this icon button. You can create and pass in your own remembered instance to observe Interactions and customize the appearance / behavior of this icon button in different states.
contentthe content of this icon button, typically an Icon