Arrangement

@Immutable
object Arrangement

Used to specify the arrangement of the layout's children in layouts like Row or Column in the main axis direction (horizontal and vertical, respectively).

Below is an illustration of different horizontal arrangements in Rows: Row arrangements

Different vertical arrangements in Columns: Column arrangements

Types

Link copied to clipboard
@Immutable
object Absolute
Link copied to clipboard
@Stable
interface Horizontal

Used to specify the horizontal arrangement of the layout's children in layouts like Row.

Link copied to clipboard

Used to specify the horizontal arrangement of the layout's children in horizontal layouts like Row, or the vertical arrangement of the layout's children in vertical layouts like Column.

Link copied to clipboard
@Stable
interface Vertical

Used to specify the vertical arrangement of the layout's children in layouts like Column.

Properties

Link copied to clipboard

Place children vertically such that they are as close as possible to the bottom of the main axis. Visually: (top) ####123 (bottom)

Link copied to clipboard

Place children such that they are as close as possible to the middle of the main axis. Visually: ##123## for LTR.

Link copied to clipboard

Place children horizontally such that they are as close as possible to the end of the main axis. Visually: ####123.

Link copied to clipboard

Place children such that they are spaced evenly across the main axis, including free space before the first child and after the last child, but half the amount of space existing otherwise between two consecutive children. Visually: #1##2##3# for LTR.

Link copied to clipboard

Place children such that they are spaced evenly across the main axis, without free space before the first child or after the last child. Visually: 1##2##3 for LTR.

Link copied to clipboard

Place children such that they are spaced evenly across the main axis, including free space before the first child and after the last child. Visually: #1#2#3# for LTR.

Link copied to clipboard

Place children horizontally such that they are as close as possible to the beginning of the horizontal axis (left). Visually: 123####.

Link copied to clipboard

Place children vertically such that they are as close as possible to the top of the main axis. Visually: (top) 123#### (bottom)

Functions

Link copied to clipboard

Place children horizontally one next to the other and align the obtained group according to an alignment.

Place children vertically one next to the other and align the obtained group according to an alignment.

Link copied to clipboard

Place children such that each two adjacent ones are spaced by a fixed space distance across the main axis. The spacing will be subtracted from the available space that the children can occupy. The space can be negative, in which case children will overlap.

Place children horizontally such that each two adjacent ones are spaced by a fixed space distance. The spacing will be subtracted from the available width that the children can occupy. An alignment can be specified to align the spaced children horizontally inside the parent, in case there is empty width remaining. The space can be negative, in which case children will overlap.

@Stable
fun spacedBy(space: Int, alignment: Alignment.Vertical): Arrangement.Vertical

Place children vertically such that each two adjacent ones are spaced by a fixed space distance. The spacing will be subtracted from the available height that the children can occupy. An alignment can be specified to align the spaced children vertically inside the parent, in case there is empty height remaining. The space can be negative, in which case children will overlap.