<div class='sourceset sourceset-android'>Android</div>

```kotlin
object IconButtonDefaults
```

## Properties

<div class='sourceset sourceset-android'>Android</div>

```kotlin
val SmallIconSize = 16.dp
```

The size of a small icon inside [IconButton](/jetpack-compose/androidx.tv/tv-material/components/IconButton)

<div class='sourceset sourceset-android'>Android</div>

```kotlin
val MediumIconSize = 20.dp
```

The size of a medium icon inside [IconButton](/jetpack-compose/androidx.tv/tv-material/components/IconButton)

<div class='sourceset sourceset-android'>Android</div>

```kotlin
val LargeIconSize = 28.dp
```

The size of a large icon inside [IconButton](/jetpack-compose/androidx.tv/tv-material/components/IconButton)

<div class='sourceset sourceset-android'>Android</div>

```kotlin
val SmallButtonSize = 28.dp
```

The size of a small [IconButton](/jetpack-compose/androidx.tv/tv-material/components/IconButton)

<div class='sourceset sourceset-android'>Android</div>

```kotlin
val MediumButtonSize = 40.dp
```

The size of a medium [IconButton](/jetpack-compose/androidx.tv/tv-material/components/IconButton).

<div class='sourceset sourceset-android'>Android</div>

```kotlin
val LargeButtonSize = 56.dp
```

The size of a large [IconButton](/jetpack-compose/androidx.tv/tv-material/components/IconButton).

## Functions

<h2 id="shape-shape-focusedshape-pressedshape-disabledshape-focuseddisabledshape">shape</h2>

```kotlin
fun shape(
        shape: Shape = ContainerShape,
        focusedShape: Shape = shape,
        pressedShape: Shape = shape,
        disabledShape: Shape = shape,
        focusedDisabledShape: Shape = disabledShape,
    ) =
        ButtonShape(
            shape = shape,
            focusedShape = focusedShape,
            pressedShape = pressedShape,
            disabledShape = disabledShape,
            focusedDisabledShape = focusedDisabledShape,
        )
```

Creates a [ButtonShape](/jetpack-compose/androidx.tv/tv-material/classes/ButtonShape) that represents the default container shapes used in a IconButton.

#### Parameters

| | |
| --- | --- |
| shape | the shape used when the Button is enabled, and has no other [Interaction](/jetpack-compose/androidx.compose.foundation/foundation/interfaces/Interaction)s. |
| focusedShape | the shape used when the Button is enabled and focused. |
| pressedShape | the shape used when the Button is enabled pressed. |
| disabledShape | the shape used when the Button is not enabled. |
| focusedDisabledShape | the shape used when the Button is not enabled and focused. |

<hr class="docs-overload-divider">

<h2 id="colors-containercolor-contentcolor-focusedcontainercolor-focusedcontentcolor-pressedcontainercolor-pressedcontentcolor-disabledcontainercolor-disabledcontentcolor">colors</h2>

```kotlin
@ReadOnlyComposable
    @Composable
    fun colors(
        containerColor: Color = MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.8f),
        contentColor: Color = MaterialTheme.colorScheme.onSurface,
        focusedContainerColor: Color = MaterialTheme.colorScheme.onSurface,
        focusedContentColor: Color = MaterialTheme.colorScheme.inverseOnSurface,
        pressedContainerColor: Color = focusedContainerColor,
        pressedContentColor: Color = focusedContentColor,
        disabledContainerColor: Color = MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.4f),
        disabledContentColor: Color = contentColor,
    ) =
        ButtonColors(
            containerColor = containerColor,
            contentColor = contentColor,
            focusedContainerColor = focusedContainerColor,
            focusedContentColor = focusedContentColor,
            pressedContainerColor = pressedContainerColor,
            pressedContentColor = pressedContentColor,
            disabledContainerColor = disabledContainerColor,
            disabledContentColor = disabledContentColor,
        )
```

Creates a [ButtonColors](/jetpack-compose/androidx.tv/tv-material/classes/ButtonColors) that represents the default colors used in a IconButton.

#### Parameters

| | |
| --- | --- |
| containerColor | the container color of this Button when enabled |
| contentColor | the content color of this Button when enabled |
| focusedContainerColor | the container color of this Button when enabled and focused |
| focusedContentColor | the content color of this Button when enabled and focused |
| pressedContainerColor | the container color of this Button when enabled and pressed |
| pressedContentColor | the content color of this Button when enabled and pressed |
| disabledContainerColor | the container color of this Button when not enabled |
| disabledContentColor | the content color of this Button when not enabled |

<hr class="docs-overload-divider">

<h2 id="scale">scale</h2>

```kotlin
fun scale(
        @FloatRange(from = 0.0) scale: Float = 1f,
        @FloatRange(from = 0.0) focusedScale: Float = 1.1f,
        @FloatRange(from = 0.0) pressedScale: Float = scale,
        @FloatRange(from = 0.0) disabledScale: Float = scale,
        @FloatRange(from = 0.0) focusedDisabledScale: Float = disabledScale,
    ) =
        ButtonScale(
            scale = scale,
            focusedScale = focusedScale,
            pressedScale = pressedScale,
            disabledScale = disabledScale,
            focusedDisabledScale = focusedDisabledScale,
        )
```

Creates a [ButtonScale](/jetpack-compose/androidx.tv/tv-material/classes/ButtonScale) that represents the default scales used in a IconButton. scales are
used to modify the size of a composable in different [Interaction](/jetpack-compose/androidx.compose.foundation/foundation/interfaces/Interaction) states e.g. 1f (original)
in default state, 1.2f (scaled up) in focused state, 0.8f (scaled down) in pressed state,
etc.

#### Parameters

| | |
| --- | --- |
| scale | the scale to be used for this Button when enabled |
| focusedScale | the scale to be used for this Button when focused |
| pressedScale | the scale to be used for this Button when pressed |
| disabledScale | the scale to be used for this Button when disabled |
| focusedDisabledScale | the scale to be used for this Button when disabled and focused |

<hr class="docs-overload-divider">

<h2 id="border-border-focusedborder-pressedborder-disabledborder-focuseddisabledborder">border</h2>

```kotlin
@ReadOnlyComposable
    @Composable
    fun border(
        border: Border = Border.None,
        focusedBorder: Border = border,
        pressedBorder: Border = focusedBorder,
        disabledBorder: Border = border,
        focusedDisabledBorder: Border =
            Border(
                border =
                    BorderStroke(
                        width = 2.dp,
                        color = MaterialTheme.colorScheme.border.copy(alpha = 0.2f),
                    ),
                shape = ContainerShape,
            ),
    ) =
        ButtonBorder(
            border = border,
            focusedBorder = focusedBorder,
            pressedBorder = pressedBorder,
            disabledBorder = disabledBorder,
            focusedDisabledBorder = focusedDisabledBorder,
        )
```

Creates a [ButtonBorder](/jetpack-compose/androidx.tv/tv-material/classes/ButtonBorder) that represents the default [Border](/jetpack-compose/androidx.tv/tv-material/classes/Border)s applied on a IconButton in
different [Interaction](/jetpack-compose/androidx.compose.foundation/foundation/interfaces/Interaction) states.

#### Parameters

| | |
| --- | --- |
| border | the [Border](/jetpack-compose/androidx.tv/tv-material/classes/Border) to be used for this Button when enabled |
| focusedBorder | the [Border](/jetpack-compose/androidx.tv/tv-material/classes/Border) to be used for this Button when focused |
| pressedBorder | the [Border](/jetpack-compose/androidx.tv/tv-material/classes/Border) to be used for this Button when pressed |
| disabledBorder | the [Border](/jetpack-compose/androidx.tv/tv-material/classes/Border) to be used for this Button when disabled |
| focusedDisabledBorder | the [Border](/jetpack-compose/androidx.tv/tv-material/classes/Border) to be used for this Button when disabled and focused |

<hr class="docs-overload-divider">

<h2 id="glow-glow-focusedglow-pressedglow">glow</h2>

```kotlin
fun glow(glow: Glow = Glow.None, focusedGlow: Glow = glow, pressedGlow: Glow = glow) =
        ButtonGlow(glow = glow, focusedGlow = focusedGlow, pressedGlow = pressedGlow)
```

Creates a [ButtonGlow](/jetpack-compose/androidx.tv/tv-material/classes/ButtonGlow) that represents the default [Glow](/jetpack-compose/androidx.tv/tv-material/classes/Glow)s used in a IconButton.

#### Parameters

| | |
| --- | --- |
| glow | the Glow behind this Button when enabled |
| focusedGlow | the Glow behind this Button when focused |
| pressedGlow | the Glow behind this Button when pressed |