IconButtonDefaults

object IconButtonDefaults


Summary

Public functions

ButtonBorder
@Composable
border(
    border: Border,
    focusedBorder: Border,
    pressedBorder: Border,
    disabledBorder: Border,
    focusedDisabledBorder: Border
)

Creates a ButtonBorder that represents the default Borders applied on a IconButton in different Interaction states.

ButtonColors
@Composable
colors(
    containerColor: Color,
    contentColor: Color,
    focusedContainerColor: Color,
    focusedContentColor: Color,
    pressedContainerColor: Color,
    pressedContentColor: Color,
    disabledContainerColor: Color,
    disabledContentColor: Color
)

Creates a ButtonColors that represents the default colors used in a IconButton.

ButtonGlow
glow(glow: Glow, focusedGlow: Glow, pressedGlow: Glow)

Creates a ButtonGlow that represents the default Glows used in a IconButton.

ButtonScale
scale(
    scale: @FloatRange(from = 0.0) Float,
    focusedScale: @FloatRange(from = 0.0) Float,
    pressedScale: @FloatRange(from = 0.0) Float,
    disabledScale: @FloatRange(from = 0.0) Float,
    focusedDisabledScale: @FloatRange(from = 0.0) Float
)

Creates a ButtonScale that represents the default scales used in a IconButton. scales are used to modify the size of a composable in different Interaction states e.g. 1f (original) in default state, 1.2f (scaled up) in focused state, 0.8f (scaled down) in pressed state, etc.

ButtonShape
shape(
    shape: Shape,
    focusedShape: Shape,
    pressedShape: Shape,
    disabledShape: Shape,
    focusedDisabledShape: Shape
)

Creates a ButtonShape that represents the default container shapes used in a IconButton.

Public properties

Dp

The size of a large IconButton.

Dp

The size of a large icon inside IconButton

Dp

The size of a medium IconButton.

Dp

The size of a medium icon inside IconButton

Dp

The size of a small IconButton

Dp

The size of a small icon inside IconButton

Public functions

border

Added in 1.0.0
@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

Creates a ButtonBorder that represents the default Borders applied on a IconButton in different Interaction states.

Parameters
border: Border = Border.None

the Border to be used for this Button when enabled

focusedBorder: Border = border

the Border to be used for this Button when focused

pressedBorder: Border = focusedBorder

the Border to be used for this Button when pressed

disabledBorder: Border = border

the Border to be used for this Button when disabled

focusedDisabledBorder: Border = Border( border = BorderStroke( width = 2.dp, color = MaterialTheme.colorScheme.border.copy(alpha = 0.2f) ), shape = ContainerShape )

the Border to be used for this Button when disabled and focused

colors

@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

Creates a ButtonColors that represents the default colors used in a IconButton.

Parameters
containerColor: Color = MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.8f)

the container color of this Button when enabled

contentColor: Color = MaterialTheme.colorScheme.onSurface

the content color of this Button when enabled

focusedContainerColor: Color = MaterialTheme.colorScheme.onSurface

the container color of this Button when enabled and focused

focusedContentColor: Color = MaterialTheme.colorScheme.inverseOnSurface

the content color of this Button when enabled and focused

pressedContainerColor: Color = focusedContainerColor

the container color of this Button when enabled and pressed

pressedContentColor: Color = focusedContentColor

the content color of this Button when enabled and pressed

disabledContainerColor: Color = MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.4f)

the container color of this Button when not enabled

disabledContentColor: Color = contentColor

the content color of this Button when not enabled

glow

Added in 1.0.0
fun glow(glow: Glow = Glow.None, focusedGlow: Glow = glow, pressedGlow: Glow = glow): ButtonGlow

Creates a ButtonGlow that represents the default Glows used in a IconButton.

Parameters
glow: Glow = Glow.None

the Glow behind this Button when enabled

focusedGlow: Glow = glow

the Glow behind this Button when focused

pressedGlow: Glow = glow

the Glow behind this Button when pressed

scale

Added in 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 ButtonScale that represents the default scales used in a IconButton. scales are used to modify the size of a composable in different 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: @FloatRange(from = 0.0) Float = 1.0f

the scale to be used for this Button when enabled

focusedScale: @FloatRange(from = 0.0) Float = 1.1f

the scale to be used for this Button when focused

pressedScale: @FloatRange(from = 0.0) Float = scale

the scale to be used for this Button when pressed

disabledScale: @FloatRange(from = 0.0) Float = scale

the scale to be used for this Button when disabled

focusedDisabledScale: @FloatRange(from = 0.0) Float = disabledScale

the scale to be used for this Button when disabled and focused

shape

Added in 1.0.0
fun shape(
    shape: Shape = ContainerShape,
    focusedShape: Shape = shape,
    pressedShape: Shape = shape,
    disabledShape: Shape = shape,
    focusedDisabledShape: Shape = disabledShape
): ButtonShape

Creates a ButtonShape that represents the default container shapes used in a IconButton.

Parameters
shape: Shape = ContainerShape

the shape used when the Button is enabled, and has no other Interactions.

focusedShape: Shape = shape

the shape used when the Button is enabled and focused.

pressedShape: Shape = shape

the shape used when the Button is enabled pressed.

disabledShape: Shape = shape

the shape used when the Button is not enabled.

focusedDisabledShape: Shape = disabledShape

the shape used when the Button is not enabled and focused.

Public properties

LargeButtonSize

Added in 1.0.0
val LargeButtonSizeDp

The size of a large IconButton.

LargeIconSize

Added in 1.0.0
val LargeIconSizeDp

The size of a large icon inside IconButton

MediumButtonSize

Added in 1.0.0
val MediumButtonSizeDp

The size of a medium IconButton.

MediumIconSize

Added in 1.0.0
val MediumIconSizeDp

The size of a medium icon inside IconButton

SmallButtonSize

Added in 1.0.0
val SmallButtonSizeDp

The size of a small IconButton

SmallIconSize

Added in 1.0.0
val SmallIconSizeDp

The size of a small icon inside IconButton