IconToggleButtonDefaults

object IconToggleButtonDefaults


Contains the default values used by IconToggleButton.

Summary

Public functions

Shape
@Composable
animatedToggleButtonShape(
    interactionSource: InteractionSource,
    checked: Boolean,
    uncheckedCornerSize: CornerSize,
    checkedCornerSize: CornerSize,
    pressedCornerSize: CornerSize,
    onPressAnimationSpec: FiniteAnimationSpec<Float>,
    onReleaseAnimationSpec: FiniteAnimationSpec<Float>
)

Creates a Shape with an animation between three CornerSizes based on the pressed state and checked/unchecked.

IconToggleButtonColors

Creates an IconToggleButtonColors for a IconToggleButton

IconToggleButtonColors
@Composable
iconToggleButtonColors(
    checkedContainerColor: Color,
    checkedContentColor: Color,
    uncheckedContainerColor: Color,
    uncheckedContentColor: Color,
    disabledCheckedContainerColor: Color,
    disabledCheckedContentColor: Color,
    disabledUncheckedContainerColor: Color,
    disabledUncheckedContentColor: Color
)

Creates a IconToggleButtonColors for a IconToggleButton

Public properties

CornerSize

The recommended size for a Checked button when animated.

CornerSize

The recommended size for a Pressed button when animated.

CornerSize

The recommended size for an Unchecked button when animated.

Public functions

animatedToggleButtonShape

Added in 1.0.0-alpha25
@Composable
fun animatedToggleButtonShape(
    interactionSource: InteractionSource,
    checked: Boolean,
    uncheckedCornerSize: CornerSize = UncheckedCornerSize,
    checkedCornerSize: CornerSize = CheckedCornerSize,
    pressedCornerSize: CornerSize = PressedCornerSize,
    onPressAnimationSpec: FiniteAnimationSpec<Float> = MaterialTheme.motionScheme.rememberFastSpatialSpec(),
    onReleaseAnimationSpec: FiniteAnimationSpec<Float> = MaterialTheme.motionScheme.slowSpatialSpec()
): Shape

Creates a Shape with an animation between three CornerSizes based on the pressed state and checked/unchecked.

A simple icon toggle button using the default colors, animated on Press and Check/Uncheck:

import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Favorite
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.wear.compose.material3.Icon
import androidx.wear.compose.material3.IconToggleButton
import androidx.wear.compose.material3.IconToggleButtonDefaults

val interactionSource = remember { MutableInteractionSource() }
var checked by remember { mutableStateOf(true) }
IconToggleButton(
    checked = checked,
    onCheckedChange = { checked = !checked },
    interactionSource = interactionSource,
    shape =
        IconToggleButtonDefaults.animatedToggleButtonShape(
            interactionSource = interactionSource,
            checked = checked
        ),
) {
    Icon(imageVector = Icons.Filled.Favorite, contentDescription = "Favorite icon")
}
Parameters
interactionSource: InteractionSource

the interaction source applied to the Button.

checked: Boolean

the current checked/unchecked state.

uncheckedCornerSize: CornerSize = UncheckedCornerSize

the size of the corner when unchecked.

checkedCornerSize: CornerSize = CheckedCornerSize

the size of the corner when checked.

pressedCornerSize: CornerSize = PressedCornerSize

the size of the corner when pressed.

onPressAnimationSpec: FiniteAnimationSpec<Float> = MaterialTheme.motionScheme.rememberFastSpatialSpec()

the spec for press animation.

onReleaseAnimationSpec: FiniteAnimationSpec<Float> = MaterialTheme.motionScheme.slowSpatialSpec()

the spec for release animation.

iconToggleButtonColors

Added in 1.0.0-alpha25
@Composable
fun iconToggleButtonColors(): IconToggleButtonColors

Creates an IconToggleButtonColors for a IconToggleButton

  • by default, a colored background with a contrasting content color.

If the button is disabled, then the colors will have an alpha (DisabledContentAlpha and DisabledContainerAlpha) value applied.

iconToggleButtonColors

@Composable
fun iconToggleButtonColors(
    checkedContainerColor: Color = Color.Unspecified,
    checkedContentColor: Color = Color.Unspecified,
    uncheckedContainerColor: Color = Color.Unspecified,
    uncheckedContentColor: Color = Color.Unspecified,
    disabledCheckedContainerColor: Color = Color.Unspecified,
    disabledCheckedContentColor: Color = Color.Unspecified,
    disabledUncheckedContainerColor: Color = Color.Unspecified,
    disabledUncheckedContentColor: Color = Color.Unspecified
): IconToggleButtonColors

Creates a IconToggleButtonColors for a IconToggleButton

  • by default, a colored background with a contrasting content color.

If the button is disabled, then the colors will have an alpha (DisabledContentAlpha and DisabledContainerAlpha) value applied.

Parameters
checkedContainerColor: Color = Color.Unspecified

The container color of this IconToggleButton when enabled and checked

checkedContentColor: Color = Color.Unspecified

The content color of this IconToggleButton when enabled and checked

uncheckedContainerColor: Color = Color.Unspecified

The container color of this IconToggleButton when enabled and unchecked

uncheckedContentColor: Color = Color.Unspecified

The content color of this IconToggleButton when enabled and unchecked

disabledCheckedContainerColor: Color = Color.Unspecified

The container color of this IconToggleButton when checked and not enabled

disabledCheckedContentColor: Color = Color.Unspecified

The content color of this IconToggleButton when checked and not enabled

disabledUncheckedContainerColor: Color = Color.Unspecified

The container color of this IconToggleButton when unchecked and not enabled

disabledUncheckedContentColor: Color = Color.Unspecified

The content color of this IconToggleButton when unchecked and not enabled

Public properties

CheckedCornerSize

Added in 1.0.0-alpha25
val CheckedCornerSizeCornerSize

The recommended size for a Checked button when animated.

PressedCornerSize

Added in 1.0.0-alpha25
val PressedCornerSizeCornerSize

The recommended size for a Pressed button when animated.

UncheckedCornerSize

Added in 1.0.0-alpha25
val UncheckedCornerSizeCornerSize

The recommended size for an Unchecked button when animated.