# OutlinedIconButtonDefaults

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


```
object OutlinedIconButtonDefaults
```

<br />

*** ** * ** ***

## Summary

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/tv/material3/ButtonBorder` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButtonDefaults#border(androidx.tv.material3.Border,androidx.tv.material3.Border,androidx.tv.material3.Border,androidx.tv.material3.Border,androidx.tv.material3.Border)( border: https://developer.android.com/reference/kotlin/androidx/tv/material3/Border, focusedBorder: https://developer.android.com/reference/kotlin/androidx/tv/material3/Border, pressedBorder: https://developer.android.com/reference/kotlin/androidx/tv/material3/Border, disabledBorder: https://developer.android.com/reference/kotlin/androidx/tv/material3/Border, focusedDisabledBorder: https://developer.android.com/reference/kotlin/androidx/tv/material3/Border )` Creates a `https://developer.android.com/reference/kotlin/androidx/tv/material3/ButtonBorder` that represents the default `https://developer.android.com/reference/kotlin/androidx/tv/material3/Border`s applied on an OutlinedIconButton in different `https://developer.android.com/reference/kotlin/androidx/compose/foundation/interaction/Interaction` states. |
| `https://developer.android.com/reference/kotlin/androidx/tv/material3/ButtonColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButtonDefaults#colors(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,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, focusedContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, focusedContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, pressedContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, pressedContentColor: 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 )` Creates a `https://developer.android.com/reference/kotlin/androidx/tv/material3/ButtonColors` that represents the default colors used in a OutlinedIconButton. |
| `https://developer.android.com/reference/kotlin/androidx/tv/material3/ButtonGlow` | `https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButtonDefaults#glow(androidx.tv.material3.Glow,androidx.tv.material3.Glow,androidx.tv.material3.Glow)(glow: https://developer.android.com/reference/kotlin/androidx/tv/material3/Glow, focusedGlow: https://developer.android.com/reference/kotlin/androidx/tv/material3/Glow, pressedGlow: https://developer.android.com/reference/kotlin/androidx/tv/material3/Glow)` Creates a `https://developer.android.com/reference/kotlin/androidx/tv/material3/ButtonGlow` that represents the default `https://developer.android.com/reference/kotlin/androidx/tv/material3/Glow`s used in an OutlinedIconButton. |
| `https://developer.android.com/reference/kotlin/androidx/tv/material3/ButtonScale` | `https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButtonDefaults#scale(kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)( scale: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, focusedScale: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, pressedScale: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, disabledScale: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, focusedDisabledScale: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html )` Creates a `https://developer.android.com/reference/kotlin/androidx/tv/material3/ButtonScale` that represents the default scales used in an OutlinedIconButton. scales are used to modify the size of a composable in different `https://developer.android.com/reference/kotlin/androidx/compose/foundation/interaction/Interaction` states e.g. 1f (original) in default state, 1.2f (scaled up) in focused state, 0.8f (scaled down) in pressed state, etc. |
| `https://developer.android.com/reference/kotlin/androidx/tv/material3/ButtonShape` | `https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButtonDefaults#shape(androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Shape)( shape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape, focusedShape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape, pressedShape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape, disabledShape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape, focusedDisabledShape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape )` Creates a `https://developer.android.com/reference/kotlin/androidx/tv/material3/ButtonShape` that represents the default container shapes used in an OutlinedIconButton. |

| ### Public properties |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButtonDefaults#LargeButtonSize()` The size of a large `https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButton.composable#OutlinedIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Boolean,androidx.tv.material3.ButtonScale,androidx.tv.material3.ButtonGlow,androidx.tv.material3.ButtonShape,androidx.tv.material3.ButtonColors,androidx.tv.material3.ButtonBorder,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`. |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButtonDefaults#LargeIconSize()` |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButtonDefaults#MediumButtonSize()` The size of a medium `https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButton.composable#OutlinedIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Boolean,androidx.tv.material3.ButtonScale,androidx.tv.material3.ButtonGlow,androidx.tv.material3.ButtonShape,androidx.tv.material3.ButtonColors,androidx.tv.material3.ButtonBorder,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`. |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButtonDefaults#MediumIconSize()` |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButtonDefaults#SmallButtonSize()` The size of a small `https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButton.composable#OutlinedIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Boolean,androidx.tv.material3.ButtonScale,androidx.tv.material3.ButtonGlow,androidx.tv.material3.ButtonShape,androidx.tv.material3.ButtonColors,androidx.tv.material3.ButtonBorder,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButtonDefaults#SmallIconSize()` |

## Public functions

### border

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)

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

Creates a `https://developer.android.com/reference/kotlin/androidx/tv/material3/ButtonBorder` that represents the default `https://developer.android.com/reference/kotlin/androidx/tv/material3/Border`s applied on an OutlinedIconButton in different `https://developer.android.com/reference/kotlin/androidx/compose/foundation/interaction/Interaction` states.

| Parameters |
|---|---|
| `border: https://developer.android.com/reference/kotlin/androidx/tv/material3/Border = Border( border = BorderStroke( width = 2.dp, color = MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.4f), ), shape = ContainerShape, )` | the `https://developer.android.com/reference/kotlin/androidx/tv/material3/Border` to be used for this Button when enabled |
| `focusedBorder: https://developer.android.com/reference/kotlin/androidx/tv/material3/Border = Border( border = BorderStroke(width = 2.dp, color = MaterialTheme.colorScheme.onSurface), shape = ContainerShape, )` | the `https://developer.android.com/reference/kotlin/androidx/tv/material3/Border` to be used for this Button when focused |
| `pressedBorder: https://developer.android.com/reference/kotlin/androidx/tv/material3/Border = Border( border = BorderStroke(width = 2.dp, color = MaterialTheme.colorScheme.onSurface), shape = ContainerShape, )` | the `https://developer.android.com/reference/kotlin/androidx/tv/material3/Border` to be used for this Button when pressed |
| `disabledBorder: https://developer.android.com/reference/kotlin/androidx/tv/material3/Border = Border( border = BorderStroke( width = 2.dp, color = MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.2f), ), shape = ContainerShape, )` | the `https://developer.android.com/reference/kotlin/androidx/tv/material3/Border` to be used for this Button when disabled |
| `focusedDisabledBorder: https://developer.android.com/reference/kotlin/androidx/tv/material3/Border = disabledBorder` | the `https://developer.android.com/reference/kotlin/androidx/tv/material3/Border` to be used for this Button when disabled and focused |

### colors

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/tv#1.1.0)

```
@Composable
fun colors(
    containerColor: Color = Color.Transparent,
    contentColor: Color = MaterialTheme.colorScheme.onSurface,
    focusedContainerColor: Color = MaterialTheme.colorScheme.onSurface,
    focusedContentColor: Color = MaterialTheme.colorScheme.inverseOnSurface,
    pressedContainerColor: Color = focusedContainerColor,
    pressedContentColor: Color = focusedContentColor,
    disabledContainerColor: Color = containerColor,
    disabledContentColor: Color = contentColor
): ButtonColors
```

Creates a `https://developer.android.com/reference/kotlin/androidx/tv/material3/ButtonColors` that represents the default colors used in a OutlinedIconButton.

| Parameters |
|---|---|
| `containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Transparent` | the container color of this Button when enabled |
| `contentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = MaterialTheme.colorScheme.onSurface` | the content color of this Button when enabled |
| `focusedContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = MaterialTheme.colorScheme.onSurface` | the container color of this Button when enabled and focused |
| `focusedContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = MaterialTheme.colorScheme.inverseOnSurface` | the content color of this Button when enabled and focused |
| `pressedContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = focusedContainerColor` | the container color of this Button when enabled and pressed |
| `pressedContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = focusedContentColor` | the content color of this Button when enabled and pressed |
| `disabledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = containerColor` | the container color of this Button when not enabled |
| `disabledContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = contentColor` | the content color of this Button when not enabled |

### glow

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)

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

Creates a `https://developer.android.com/reference/kotlin/androidx/tv/material3/ButtonGlow` that represents the default `https://developer.android.com/reference/kotlin/androidx/tv/material3/Glow`s used in an OutlinedIconButton.

| Parameters |
|---|---|
| `glow: https://developer.android.com/reference/kotlin/androidx/tv/material3/Glow = Glow.None` | the Glow behind this Button when enabled |
| `focusedGlow: https://developer.android.com/reference/kotlin/androidx/tv/material3/Glow = glow` | the Glow behind this Button when focused |
| `pressedGlow: https://developer.android.com/reference/kotlin/androidx/tv/material3/Glow = glow` | the Glow behind this Button when pressed |

### scale

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)

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

Creates a `https://developer.android.com/reference/kotlin/androidx/tv/material3/ButtonScale` that represents the default scales used in an OutlinedIconButton. scales are used to modify the size of a composable in different `https://developer.android.com/reference/kotlin/androidx/compose/foundation/interaction/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: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html = 1.0f` | the scale to be used for this Button when enabled |
| `focusedScale: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html = 1.1f` | the scale to be used for this Button when focused |
| `pressedScale: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html = scale` | the scale to be used for this Button when pressed |
| `disabledScale: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html = scale` | the scale to be used for this Button when disabled |
| `focusedDisabledScale: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html = disabledScale` | the scale to be used for this Button when disabled and focused |

### shape

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)

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

Creates a `https://developer.android.com/reference/kotlin/androidx/tv/material3/ButtonShape` that represents the default container shapes used in an OutlinedIconButton.

| Parameters |
|---|---|
| `shape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape = ContainerShape` | the shape used when the Button is enabled, and has no other `https://developer.android.com/reference/kotlin/androidx/compose/foundation/interaction/Interaction`s. |
| `focusedShape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape = shape` | the shape used when the Button is enabled and focused. |
| `pressedShape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape = shape` | the shape used when the Button is enabled pressed. |
| `disabledShape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape = shape` | the shape used when the Button is not enabled. |
| `focusedDisabledShape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape = disabledShape` | the shape used when the Button is not enabled and focused. |

## Public properties

### LargeButtonSize

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)

```
val LargeButtonSize: Dp
```

The size of a large `https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButton.composable#OutlinedIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Boolean,androidx.tv.material3.ButtonScale,androidx.tv.material3.ButtonGlow,androidx.tv.material3.ButtonShape,androidx.tv.material3.ButtonColors,androidx.tv.material3.ButtonBorder,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`.

### LargeIconSize

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)

```
val LargeIconSize: Dp
```

### MediumButtonSize

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)

```
val MediumButtonSize: Dp
```

The size of a medium `https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButton.composable#OutlinedIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Boolean,androidx.tv.material3.ButtonScale,androidx.tv.material3.ButtonGlow,androidx.tv.material3.ButtonShape,androidx.tv.material3.ButtonColors,androidx.tv.material3.ButtonBorder,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`.

### MediumIconSize

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)

```
val MediumIconSize: Dp
```

### SmallButtonSize

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)

```
val SmallButtonSize: Dp
```

The size of a small `https://developer.android.com/reference/kotlin/androidx/tv/material3/OutlinedIconButton.composable#OutlinedIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Boolean,androidx.tv.material3.ButtonScale,androidx.tv.material3.ButtonGlow,androidx.tv.material3.ButtonShape,androidx.tv.material3.ButtonColors,androidx.tv.material3.ButtonBorder,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)`

### SmallIconSize

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)

```
val SmallIconSize: Dp
```