Distributes flex lines along the cross axis.

Only applies when FlexBoxConfigScope.wrap is FlexWrap.Wrap or FlexWrap.WrapReverse, multiple lines exist, and the container has extra cross-axis space. Distributes and expands flex lines along the cross axis. Items within each line follow FlexAlignItems or FlexAlignSelf and do not stretch unless configured with FlexAlignItems.Stretch or FlexAlignSelf.Stretch.

import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.FlexAlignContent
import androidx.compose.foundation.layout.FlexBox
import androidx.compose.foundation.layout.FlexBoxConfig
import androidx.compose.foundation.layout.FlexDirection
import androidx.compose.foundation.layout.FlexWrap
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.size
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp

// Can be extracted to a top-level FlexBoxConfig
val SpaceAroundWrap = FlexBoxConfig {
    direction(FlexDirection.Row)
    wrap(FlexWrap.Wrap)
    alignContent(FlexAlignContent.SpaceAround)
}

FlexBox(modifier = Modifier.fillMaxSize(), config = SpaceAroundWrap) {
    repeat(20) { Box(Modifier.size(80.dp).background(Color.Blue)) }
}

Summary

Public companion properties

FlexAlignContent

Place lines such that they are as close as possible to the middle of the container's cross axis.

Cmn
FlexAlignContent

Place lines such that they are as close as possible to the cross-end edge of the container.

Cmn
FlexAlignContent

Place lines such that they are spaced evenly across the cross axis, including free space before the first line and after the last line, but half the amount of space existing otherwise between two consecutive lines.

Cmn
FlexAlignContent

Place lines such that they are spaced evenly across the cross axis, without free space before the first line or after the last line.

Cmn
FlexAlignContent

Place lines such that they are as close as possible to the cross-start edge of the container.

Cmn
FlexAlignContent

Stretches flex lines to fill available cross-axis space.

Cmn

Public functions

open String
Cmn

Public companion properties

Center

val Center: FlexAlignContent

Place lines such that they are as close as possible to the middle of the container's cross axis.

End

val End: FlexAlignContent

Place lines such that they are as close as possible to the cross-end edge of the container.

SpaceAround

val SpaceAround: FlexAlignContent

Place lines such that they are spaced evenly across the cross axis, including free space before the first line and after the last line, but half the amount of space existing otherwise between two consecutive lines.

SpaceBetween

val SpaceBetween: FlexAlignContent

Place lines such that they are spaced evenly across the cross axis, without free space before the first line or after the last line.

Start

val Start: FlexAlignContent

Place lines such that they are as close as possible to the cross-start edge of the container.

Stretch

val Stretch: FlexAlignContent

Stretches flex lines to fill available cross-axis space.

Distributes remaining cross-axis space evenly among all lines, expanding each line's cross-axis size. Positions items within each line according to FlexAlignItems or FlexAlignSelf. Items do not stretch unless configured with FlexAlignItems.Stretch or FlexAlignSelf.Stretch.

See also
Stretch
Stretch

Public functions

toString

open fun toString(): String