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

← Back to Material 3 Compose

IconToggleButton

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 toggle 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 toggle button image(https://developer.android.com/images/reference/androidx/compose/material3/standard-icon-toggle-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

IconToggleButton

@Composable
fun IconToggleButton(
    checked: Boolean,
    onCheckedChange: (Boolean) -> Unit,
    modifier: Modifier = Modifier,
    enabled: Boolean = true,
    colors: IconToggleButtonColors = IconButtonDefaults.iconToggleButtonColors(),
    interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
    content: @Composable () -> Unit
)

Parameters

NameDescription
checkedwhether this icon button is toggled on or off
onCheckedChangecalled 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.
colorsIconToggleButtonColors that will be used to resolve the colors used for this icon button in different states. See IconButtonDefaults.iconToggleButtonColors.
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