# ButtonGroupDefaults

Artifact: [androidx.compose.material3:material3](https://developer.android.com/jetpack/androidx/releases/compose-material3) [View Source](https://cs.android.com/search?q=file:androidx/compose/material3/ButtonGroup.kt+class:androidx.compose.material3.ButtonGroupDefaults) Common/AllAndroid/JVM
- Cmn

  ```
  object ButtonGroupDefaults
  ```

*** ** * ** ***

Default values used by `https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroup.composable#ButtonGroup(kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Float,androidx.compose.foundation.layout.Arrangement.Horizontal,androidx.compose.ui.Alignment.Vertical,kotlin.Function1)`

## Summary

| ### Public functions |
|---|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupDefaults#OverflowIndicator(androidx.compose.material3.ButtonGroupMenuState,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.compose.ui.graphics.Shape,androidx.compose.material3.IconButtonColors,androidx.compose.foundation.interaction.MutableInteractionSource)( menuState: https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupMenuState, modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier, enabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, shape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape, colors: https://developer.android.com/reference/kotlin/androidx/compose/material3/IconButtonColors, interactionSource: https://developer.android.com/reference/kotlin/androidx/compose/foundation/interaction/MutableInteractionSource? )` Default overflow indicator for `https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroup.composable#ButtonGroup(kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Float,androidx.compose.foundation.layout.Arrangement.Horizontal,androidx.compose.ui.Alignment.Vertical,kotlin.Function1)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/ToggleButtonShapes` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupDefaults#connectedLeadingButtonShapes(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, pressedShape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape, checkedShape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape )` Defaults button shapes for the start button in a connected button group. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/ToggleButtonShapes` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupDefaults#connectedMiddleButtonShapes(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, pressedShape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape, checkedShape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape )` Defaults button shapes for a middle button in a connected button group. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/ToggleButtonShapes` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupDefaults#connectedTrailingButtonShapes(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, pressedShape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape, checkedShape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape )` Defaults button shapes for the end button in a connected button group. | Cmn |

| ### Public properties |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupDefaults#ConnectedSpaceBetween()` The default spacing used between children for connected button group | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupDefaults#ExpandedRatio()` The default percentage, represented as a float, of the width of the interacted child element that will be used to expand the interacted child element as well as compress the neighboring children. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/Arrangement.Horizontal` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupDefaults#HorizontalArrangement()` The default Arrangement used between children for standard button group. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/RoundedCornerShape` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupDefaults#connectedButtonCheckedShape()` Default shape for the checked state for the buttons in a connected button group | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupDefaults#connectedLeadingButtonPressShape()` Default shape for the pressed state for the leading button in a connected button group. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupDefaults#connectedLeadingButtonShape()` Default shape for the leading button in a connected button group | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupDefaults#connectedMiddleButtonPressShape()` Default shape for the pressed state for the middle buttons in a connected button group. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupDefaults#connectedTrailingButtonPressShape()` Default shape for the pressed state for the trailing button in a connected button group. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupDefaults#connectedTrailingButtonShape()` Default shape for the trailing button in a connected button group | Cmn |

## Public functions

### OverflowIndicator

Cmn

```
@Composable
fun OverflowIndicator(
    menuState: ButtonGroupMenuState,
    modifier: Modifier = Modifier,
    enabled: Boolean = true,
    shape: Shape = IconButtonDefaults.filledShape,
    colors: IconButtonColors = IconButtonDefaults.filledIconButtonColors(),
    interactionSource: MutableInteractionSource? = null
): Unit
```

Default overflow indicator for `https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroup.composable#ButtonGroup(kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Float,androidx.compose.foundation.layout.Arrangement.Horizontal,androidx.compose.ui.Alignment.Vertical,kotlin.Function1)`. It uses a `https://developer.android.com/reference/kotlin/androidx/compose/material3/FilledIconButton.composable#FilledIconButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.compose.ui.graphics.Shape,androidx.compose.material3.IconButtonColors,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function0)`. When clicked it will open the menu associated with the provided `https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupMenuState`.

| Parameters |
|---|---|
| `menuState: https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupMenuState` | the `https://developer.android.com/reference/kotlin/androidx/compose/material3/ButtonGroupMenuState` used to show or dismiss the overflow menu. |
| `modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier = Modifier` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier` to be applied to the overflow indicator |
| `enabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = true` | controls the enabled state of this icon button. When `false`, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services. |
| `shape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape = IconButtonDefaults.filledShape` | defines the shape of this icon button's container |
| `colors: https://developer.android.com/reference/kotlin/androidx/compose/material3/IconButtonColors = IconButtonDefaults.filledIconButtonColors()` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/IconButtonColors` that will be used to resolve the colors used for this icon button in different states. See `https://developer.android.com/reference/kotlin/androidx/compose/material3/IconButtonDefaults#filledIconButtonColors()`. |
| `interactionSource: https://developer.android.com/reference/kotlin/androidx/compose/foundation/interaction/MutableInteractionSource? = null` | an optional hoisted `https://developer.android.com/reference/kotlin/androidx/compose/foundation/interaction/MutableInteractionSource` for observing and emitting `https://developer.android.com/reference/kotlin/androidx/compose/foundation/interaction/Interaction`s for this icon button. You can use this to change the icon button's appearance or preview the icon button in different states. Note that if `null` is provided, interactions will still happen internally. |

### connectedLeadingButtonShapes

Cmn

```
@Composable
fun connectedLeadingButtonShapes(
    shape: Shape = connectedLeadingButtonShape,
    pressedShape: Shape = connectedLeadingButtonPressShape,
    checkedShape: Shape = connectedButtonCheckedShape
): ToggleButtonShapes
```

Defaults button shapes for the start button in a connected button group.

### connectedMiddleButtonShapes

Cmn

```
@Composable
fun connectedMiddleButtonShapes(
    shape: Shape = ShapeDefaults.Small,
    pressedShape: Shape = connectedMiddleButtonPressShape,
    checkedShape: Shape = connectedButtonCheckedShape
): ToggleButtonShapes
```

Defaults button shapes for a middle button in a connected button group. A middle button is a button that's not the start / end button in the button group.

### connectedTrailingButtonShapes

Cmn

```
@Composable
fun connectedTrailingButtonShapes(
    shape: Shape = connectedTrailingButtonShape,
    pressedShape: Shape = connectedTrailingButtonPressShape,
    checkedShape: Shape = connectedButtonCheckedShape
): ToggleButtonShapes
```

Defaults button shapes for the end button in a connected button group.

## Public properties

### ConnectedSpaceBetween

Cmn

```
val ConnectedSpaceBetween: Dp
```

The default spacing used between children for connected button group

### ExpandedRatio

Cmn

```
val ExpandedRatio: Float
```

The default percentage, represented as a float, of the width of the interacted child element that will be used to expand the interacted child element as well as compress the neighboring children. By Default, standard button group will expand the interacted child element by 15% of its width and this will be propagated to its neighbors.

### HorizontalArrangement

Cmn

```
val HorizontalArrangement: Arrangement.Horizontal
```

The default Arrangement used between children for standard button group.

### connectedButtonCheckedShape

Cmn

```
val connectedButtonCheckedShape: RoundedCornerShape
```

Default shape for the checked state for the buttons in a connected button group

### connectedLeadingButtonPressShape

Cmn

```
val connectedLeadingButtonPressShape: Shape
```

Default shape for the pressed state for the leading button in a connected button group.

### connectedLeadingButtonShape

Cmn

```
val connectedLeadingButtonShape: Shape
```

Default shape for the leading button in a connected button group

### connectedMiddleButtonPressShape

Cmn

```
val connectedMiddleButtonPressShape: Shape
```

Default shape for the pressed state for the middle buttons in a connected button group.

### connectedTrailingButtonPressShape

Cmn

```
val connectedTrailingButtonPressShape: Shape
```

Default shape for the pressed state for the trailing button in a connected button group.

### connectedTrailingButtonShape

Cmn

```
val connectedTrailingButtonShape: Shape
```

Default shape for the trailing button in a connected button group