Compose Component

IconToggleButton

A Jetpack Compose Glimmer icon toggle button that changes its appearance depending on the checked value, and offers a single slot for an icon or image.

IconToggleButtonSample

@Sampled
@Composable
fun IconToggleButtonSample() {
    var checked by remember { mutableStateOf(false) }
    IconToggleButton(checked = checked, onCheckedChange = { checked = it }) {
        Icon(
            imageVector = if (checked) FavoriteIcon else OutlinedFavoriteIcon,
            contentDescription = "Localized description",
        )
    }
}

CustomColorsIconToggleButtonSample

@Sampled
@Composable
fun CustomColorsIconToggleButtonSample() {
    var checked by remember { mutableStateOf(false) }
    val focusedBackgroundColor =
        IconToggleButtonDefaults.focusedBackgroundColor(baseColor = Color(0xFFE3FF6F))
    val checkedBackgroundColor =
        IconToggleButtonDefaults.checkedBackgroundColor(baseColor = Color(0xFF34E0A1))
    IconToggleButton(
        checked = checked,
        onCheckedChange = { checked = it },
        colors =
            IconToggleButtonDefaults.colors(
                focusedBackgroundColor = focusedBackgroundColor,
                checkedBackgroundColor = checkedBackgroundColor,
            ),
    ) {
        Icon(
            imageVector = if (checked) FavoriteIcon else OutlinedFavoriteIcon,
            contentDescription = "Localized description",
        )
    }
}
Jetpack Compose beyond MaterialFree components, screens and templates for apps that don’t look like Google’s. Copy them into your app, or let your coding agent add them.Browse for free

Content updated: