# IconButtonDefaults

Artifact: [androidx.wear.compose:compose-material3](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/material3/IconButton.kt+class:androidx.wear.compose.material3.IconButtonDefaults) Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)


```
object IconButtonDefaults
```

<br />

*** ** * ** ***

Contains the default values used by `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButton.composable#IconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`.

## Summary

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonShapes` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#animatedShapes()()` Returns the default `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonShapes` with an animation between two CornerBasedShapes when pressed. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonShapes` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#animatedShapes(androidx.compose.foundation.shape.CornerBasedShape,androidx.compose.foundation.shape.CornerBasedShape)(shape: https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape?, pressedShape: https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape?)` Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonShapes` with an animation between two CornerBasedShapes when pressed. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#filledIconButtonColors()()` Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/FilledIconButton.composable#FilledIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` - by default, a colored background with a contrasting icon color. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#filledIconButtonColors(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color)( containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, contentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, disabledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, disabledContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color )` Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/FilledIconButton.composable#FilledIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` - by default, a colored background with a contrasting icon color. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#filledTonalIconButtonColors()()` Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/FilledTonalIconButton.composable#FilledTonalIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`- by default, a muted colored background with a contrasting icon color. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#filledTonalIconButtonColors(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color)( containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, contentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, disabledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, disabledContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color )` Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/FilledTonalIconButton.composable#FilledTonalIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`- by default, a muted colored background with a contrasting icon color. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#filledVariantIconButtonColors()()` Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` as an alternative to the `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#filledTonalIconButtonColors()`, giving a surface with more chroma to indicate selected or highlighted states that are not primary calls-to-action. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#filledVariantIconButtonColors(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color)( containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, contentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, disabledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, disabledContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color )` Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` as an alternative to the `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#filledTonalIconButtonColors()`, giving a surface with more chroma to indicate selected or highlighted states that are not primary calls-to-action. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#iconButtonColors()()` Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButton.composable#IconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` - by default, a transparent background with a contrasting icon color. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#iconButtonColors(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color)( containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, contentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, disabledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, disabledContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color )` Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButton.composable#IconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` - by default, a transparent background with a contrasting icon color. |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#iconSizeFor(androidx.compose.ui.unit.Dp)(buttonSize: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp)` Recommended icon size for a given icon button size. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#outlinedIconButtonColors()()` Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/OutlinedIconButton.composable#OutlinedIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`- by default, a transparent background with contrasting icon color. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#outlinedIconButtonColors(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color)( contentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, disabledContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color )` Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/OutlinedIconButton.composable#OutlinedIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`- by default, a transparent background with contrasting icon color. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonShapes` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#shapes()()` Returns the default `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonShapes` for a static `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButton.composable#IconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonShapes` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#shapes(androidx.compose.ui.graphics.Shape)(shape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape)` Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonShapes` for a static `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButton.composable#IconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`. |

| ### Public properties |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#DefaultButtonSize()` The default size applied for buttons. |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#DefaultIconSize()` The default size of an icon when used inside an icon button of size DefaultButtonSize. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#DisabledImageOpacity()` Recommended alpha to apply to an IconButton with Image content with disabled |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#ExtraSmallButtonSize()` The recommended background size of an extra small, compact button. |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#LargeButtonSize()` The recommended size for a large button. |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#LargeIconSize()` The size of an icon when used inside an icon button with size `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#LargeButtonSize()`. |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#SmallButtonSize()` The recommended size for a small button. |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#SmallIconSize()` The recommended size of an icon when used inside an icon button with size `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#SmallButtonSize()` or `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#ExtraSmallButtonSize()`. |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#minimumVerticalListContentPadding()` The minimum vertical content padding for the list when an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButton.composable#IconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` is placed at the top or bottom edge. |
| `https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#pressedShape()` Recommended pressed `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape` for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButton.composable#IconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`. |
| `https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/RoundedCornerShape` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#shape()` Recommended `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape` for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButton.composable#IconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`. |

## Public functions

### animatedShapes

Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
@Composable
fun animatedShapes(): IconButtonShapes
```

Returns the default `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonShapes` with an animation between two CornerBasedShapes when pressed.

Example of a simple icon button using the default colors, animated when pressed:

```kotlin
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Favorite
import androidx.wear.compose.material3.FilledIconButton
import androidx.wear.compose.material3.Icon
import androidx.wear.compose.material3.IconButton
import androidx.wear.compose.material3.IconButtonDefaults

FilledIconButton(
    onClick = { /* Do something */ },
    shapes = IconButtonDefaults.animatedShapes(),
    colors = colors,
) {
    Icon(imageVector = Icons.Filled.Favorite, contentDescription = "Favorite icon")
}
```

Example of a simple icon toggle button using the default colors, animated when pressed:

```kotlin
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.width
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.wear.compose.material3.IconToggleButton
import androidx.wear.compose.material3.IconToggleButtonDefaults
import androidx.wear.compose.material3.samples.icons.WifiOffIcon
import androidx.wear.compose.material3.samples.icons.WifiOnIcon

var firstChecked by remember { mutableStateOf(true) }
var secondChecked by remember { mutableStateOf(false) }

Row(
    modifier = Modifier.fillMaxSize(),
    horizontalArrangement = Arrangement.Center,
    verticalAlignment = Alignment.CenterVertically,
) {
    IconToggleButton(
        checked = firstChecked,
        onCheckedChange = { firstChecked = !firstChecked },
        shapes = IconToggleButtonDefaults.animatedShapes(),
    ) {
        if (firstChecked) {
            WifiOnIcon()
        } else {
            WifiOffIcon()
        }
    }

    Spacer(modifier = Modifier.width(5.dp))

    IconToggleButton(
        checked = secondChecked,
        onCheckedChange = { secondChecked = !secondChecked },
        shapes = IconToggleButtonDefaults.animatedShapes(),
    ) {
        if (secondChecked) {
            WifiOnIcon()
        } else {
            WifiOffIcon()
        }
    }
}
```

### animatedShapes

Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
@Composable
fun animatedShapes(
    shape: CornerBasedShape? = null,
    pressedShape: CornerBasedShape? = null
): IconButtonShapes
```

Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonShapes` with an animation between two CornerBasedShapes when pressed.

Example of a simple icon button using the default colors, animated when pressed:

```kotlin
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Favorite
import androidx.wear.compose.material3.FilledIconButton
import androidx.wear.compose.material3.Icon
import androidx.wear.compose.material3.IconButton
import androidx.wear.compose.material3.IconButtonDefaults

FilledIconButton(
    onClick = { /* Do something */ },
    shapes = IconButtonDefaults.animatedShapes(),
    colors = colors,
) {
    Icon(imageVector = Icons.Filled.Favorite, contentDescription = "Favorite icon")
}
```

| Parameters |
|---|---|
| `shape: https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape? = null` | The normal shape of the IconButton - if null, the default `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#shape()` is used. |
| `pressedShape: https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape? = null` | The pressed shape of the IconButton - if null, the default `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#pressedShape()` is used. |

### filledIconButtonColors

Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
@Composable
fun filledIconButtonColors(): IconButtonColors
```

Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/FilledIconButton.composable#FilledIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` - by default, a colored background with a contrasting icon color. If the icon button is disabled then the colors will default to the MaterialTheme onSurface color with suitable alpha values applied.

### filledIconButtonColors

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
@Composable
fun filledIconButtonColors(
    containerColor: Color = Color.Unspecified,
    contentColor: Color = Color.Unspecified,
    disabledContainerColor: Color = Color.Unspecified,
    disabledContentColor: Color = Color.Unspecified
): IconButtonColors
```

Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/FilledIconButton.composable#FilledIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` - by default, a colored background with a contrasting icon color. If the icon button is disabled then the colors will default to the MaterialTheme onSurface color with suitable alpha values applied.

| Parameters |
|---|---|
| `containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The background color of this icon button when enabled. |
| `contentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The color of this icon when enabled. |
| `disabledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The background color of this icon button when not enabled. |
| `disabledContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The color of this icon when not enabled. |

### filledTonalIconButtonColors

Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
@Composable
fun filledTonalIconButtonColors(): IconButtonColors
```

Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/FilledTonalIconButton.composable#FilledTonalIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`- by default, a muted colored background with a contrasting icon color. If the icon button is disabled then the colors will default to the MaterialTheme onSurface color with suitable alpha values applied.

### filledTonalIconButtonColors

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
@Composable
fun filledTonalIconButtonColors(
    containerColor: Color = Color.Unspecified,
    contentColor: Color = Color.Unspecified,
    disabledContainerColor: Color = Color.Unspecified,
    disabledContentColor: Color = Color.Unspecified
): IconButtonColors
```

Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/FilledTonalIconButton.composable#FilledTonalIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`- by default, a muted colored background with a contrasting icon color. If the icon button is disabled then the colors will default to the MaterialTheme onSurface color with suitable alpha values applied.

| Parameters |
|---|---|
| `containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The background color of this icon button when enabled. |
| `contentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The color of this icon when enabled. |
| `disabledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The background color of this icon button when not enabled. |
| `disabledContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The color of this icon when not enabled. |

### filledVariantIconButtonColors

Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
@Composable
fun filledVariantIconButtonColors(): IconButtonColors
```

Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` as an alternative to the `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#filledTonalIconButtonColors()`, giving a surface with more chroma to indicate selected or highlighted states that are not primary calls-to-action. If the icon button is disabled then the colors will default to the MaterialTheme onSurface color with suitable alpha values applied.

Example of creating a `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/FilledIconButton.composable#FilledIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` with `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#filledVariantIconButtonColors()`:

```kotlin
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Favorite
import androidx.wear.compose.material3.FilledIconButton
import androidx.wear.compose.material3.Icon
import androidx.wear.compose.material3.IconButton
import androidx.wear.compose.material3.IconButtonColors
import androidx.wear.compose.material3.IconButtonDefaults

FilledIconButton(
    onClick = { /* Do something */ },
    colors = IconButtonDefaults.filledVariantIconButtonColors(),
) {
    Icon(imageVector = Icons.Filled.Favorite, contentDescription = "Favorite icon")
}
```

![FilledVariantIconButtonSample Composite
Image](https://developer.android.com/wear/images/design/WearComposeM3_FilledVariantIconButtonSample_CompositeImage.png)

### filledVariantIconButtonColors

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
@Composable
fun filledVariantIconButtonColors(
    containerColor: Color = Color.Unspecified,
    contentColor: Color = Color.Unspecified,
    disabledContainerColor: Color = Color.Unspecified,
    disabledContentColor: Color = Color.Unspecified
): IconButtonColors
```

Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` as an alternative to the `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#filledTonalIconButtonColors()`, giving a surface with more chroma to indicate selected or highlighted states that are not primary calls-to-action. If the icon button is disabled then the colors will default to the MaterialTheme onSurface color with suitable alpha values applied.

Example of creating a `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/FilledIconButton.composable#FilledIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` with `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#filledVariantIconButtonColors(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color)`:

```kotlin
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Favorite
import androidx.wear.compose.material3.FilledIconButton
import androidx.wear.compose.material3.Icon
import androidx.wear.compose.material3.IconButton
import androidx.wear.compose.material3.IconButtonColors
import androidx.wear.compose.material3.IconButtonDefaults

FilledIconButton(
    onClick = { /* Do something */ },
    colors = IconButtonDefaults.filledVariantIconButtonColors(),
) {
    Icon(imageVector = Icons.Filled.Favorite, contentDescription = "Favorite icon")
}
```

![FilledVariantIconButtonSample Composite
Image](https://developer.android.com/wear/images/design/WearComposeM3_FilledVariantIconButtonSample_CompositeImage.png)

| Parameters |
|---|---|
| `containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The background color of this icon button when enabled. |
| `contentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The color of this icon when enabled. |
| `disabledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The background color of this icon button when not enabled. |
| `disabledContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The color of this icon when not enabled. |

### iconButtonColors

Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
@Composable
fun iconButtonColors(): IconButtonColors
```

Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButton.composable#IconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` - by default, a transparent background with a contrasting icon color. If the icon button is disabled then the colors will default to the MaterialTheme onSurface color with suitable alpha values applied.

### iconButtonColors

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
@Composable
fun iconButtonColors(
    containerColor: Color = Color.Transparent,
    contentColor: Color = Color.Unspecified,
    disabledContainerColor: Color = Color.Transparent,
    disabledContentColor: Color = Color.Unspecified
): IconButtonColors
```

Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButton.composable#IconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` - by default, a transparent background with a contrasting icon color. If the icon button is disabled then the colors will default to the MaterialTheme onSurface color with suitable alpha values applied.

| Parameters |
|---|---|
| `containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Transparent` | The background color of this icon button when enabled. |
| `contentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The color of this icon when enabled. |
| `disabledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Transparent` | The background color of this icon button when not enabled. |
| `disabledContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The color of this icon when not enabled. |

### iconSizeFor

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
fun iconSizeFor(buttonSize: Dp): Dp
```

Recommended icon size for a given icon button size.

Ensures that the minimum recommended icon size is applied.

Examples: for size `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#LargeButtonSize()`, returns `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#LargeIconSize()`, for size `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#ExtraSmallButtonSize()` returns `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#SmallIconSize()`.

| Parameters |
|---|---|
| `buttonSize: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | The size of the icon button |

### outlinedIconButtonColors

Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
@Composable
fun outlinedIconButtonColors(): IconButtonColors
```

Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/OutlinedIconButton.composable#OutlinedIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`- by default, a transparent background with contrasting icon color. If the icon button is disabled then the colors will default to the MaterialTheme onSurface color with suitable alpha values applied.

### outlinedIconButtonColors

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
@Composable
fun outlinedIconButtonColors(
    contentColor: Color = Color.Unspecified,
    disabledContentColor: Color = Color.Unspecified
): IconButtonColors
```

Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonColors` with the colors for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/OutlinedIconButton.composable#OutlinedIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`- by default, a transparent background with contrasting icon color. If the icon button is disabled then the colors will default to the MaterialTheme onSurface color with suitable alpha values applied.

| Parameters |
|---|---|
| `contentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The color of this icon button when enabled. |
| `disabledContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | The color of this icon when not enabled. |

### shapes

Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
@Composable
fun shapes(): IconButtonShapes
```

Returns the default `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonShapes` for a static `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButton.composable#IconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`.

### shapes

Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
@Composable
fun shapes(shape: Shape): IconButtonShapes
```

Returns an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonShapes` for a static `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButton.composable#IconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`.

| Parameters |
|---|---|
| `shape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape` | The normal shape of the IconButton. |

## Public properties

### DefaultButtonSize

```
val DefaultButtonSize: Dp
```

The default size applied for buttons. It is recommended to apply this size using Modifier.touchTargetAwareSize.

### DefaultIconSize

```
val DefaultIconSize: Dp
```

The default size of an icon when used inside an icon button of size DefaultButtonSize. Use `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#iconSizeFor(androidx.compose.ui.unit.Dp)` to easily determine the icon size.

### DisabledImageOpacity

Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
val DisabledImageOpacity: Float
```

Recommended alpha to apply to an IconButton with Image content with disabled

### ExtraSmallButtonSize

```
val ExtraSmallButtonSize: Dp
```

The recommended background size of an extra small, compact button. It is recommended to apply this size using Modifier.touchTargetAwareSize.

### LargeButtonSize

```
val LargeButtonSize: Dp
```

The recommended size for a large button. It is recommended to apply this size using Modifier.touchTargetAwareSize.

### LargeIconSize

```
val LargeIconSize: Dp
```

The size of an icon when used inside an icon button with size `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#LargeButtonSize()`. Use `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#iconSizeFor(androidx.compose.ui.unit.Dp)` to easily determine the icon size.

### SmallButtonSize

```
val SmallButtonSize: Dp
```

The recommended size for a small button. It is recommended to apply this size using Modifier.touchTargetAwareSize.

### SmallIconSize

```
val SmallIconSize: Dp
```

The recommended size of an icon when used inside an icon button with size `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#SmallButtonSize()` or `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#ExtraSmallButtonSize()`. Use `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButtonDefaults#iconSizeFor(androidx.compose.ui.unit.Dp)` to easily determine the icon size.

### minimumVerticalListContentPadding

```
val minimumVerticalListContentPadding: Dp
```

The minimum vertical content padding for the list when an `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButton.composable#IconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` is placed at the top or bottom edge. Recommended for use with `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/TransformingLazyColumnItemScope`'s `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/TransformingLazyColumnItemScope#(androidx.compose.ui.Modifier).minimumVerticalContentPadding(androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp)`, which allows items to choose a preferred content padding for the list. `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/TransformingLazyColumn.composable#TransformingLazyColumn(androidx.compose.ui.Modifier,androidx.wear.compose.foundation.lazy.TransformingLazyColumnState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,androidx.compose.foundation.OverscrollEffect,androidx.wear.compose.foundation.lazy.TransformingLazyColumnFirstLayoutItemProvider,kotlin.Function1)` takes its contentPadding as the maximum of the preferred content padding values and its own contentPadding parameter.

### pressedShape

Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
val pressedShape: CornerBasedShape
```

Recommended pressed `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape` for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButton.composable#IconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`.

### shape

Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
val shape: RoundedCornerShape
```

Recommended `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape` for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/IconButton.composable#IconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.wear.compose.material3.IconButtonShapes,androidx.wear.compose.material3.IconButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`.