object Absolute
Properties
arrange
val Left =
object : Horizontal {
override fun Density.arrange(
totalSize: Int,
sizes: IntArray,
layoutDirection: LayoutDirection,
outPositions: IntArray,
) = placeLeftOrTop(sizes, outPositions, reverseInput = false)
override fun toString() = "AbsoluteArrangement#Left"
}
Place children horizontally such that they are as close as possible to the left edge of the Row.
Unlike Arrangement.Start, when the layout direction is RTL, the children will not be mirrored and as such children will appear in the order they are composed inside the Row.
Visually: 123####
arrange
val Center =
object : Horizontal {
override fun Density.arrange(
totalSize: Int,
sizes: IntArray,
layoutDirection: LayoutDirection,
outPositions: IntArray,
) = placeCenter(totalSize, sizes, outPositions, reverseInput = false)
override fun toString() = "AbsoluteArrangement#Center"
}
Place children such that they are as close as possible to the middle of the Row.
Unlike Arrangement.Center, when the layout direction is RTL, the children will not be mirrored and as such children will appear in the order they are composed inside the Row.
Visually: ##123##
arrange
val Right =
object : Horizontal {
override fun Density.arrange(
totalSize: Int,
sizes: IntArray,
layoutDirection: LayoutDirection,
outPositions: IntArray,
) = placeRightOrBottom(totalSize, sizes, outPositions, reverseInput = false)
override fun toString() = "AbsoluteArrangement#Right"
}
Place children horizontally such that they are as close as possible to the right edge of the Row.
Unlike Arrangement.End, when the layout direction is RTL, the children will not be mirrored and as such children will appear in the order they are composed inside the Row.
Visually: ####123
arrange
val SpaceBetween =
object : Horizontal {
override fun Density.arrange(
totalSize: Int,
sizes: IntArray,
layoutDirection: LayoutDirection,
outPositions: IntArray,
) = placeSpaceBetween(totalSize, sizes, outPositions, reverseInput = false)
override fun toString() = "AbsoluteArrangement#SpaceBetween"
}
Place children such that they are spaced evenly across the main axis, without free space before the first child or after the last child.
Unlike Arrangement.SpaceBetween, when the layout direction is RTL, the children will not be mirrored and as such children will appear in the order they are composed inside the Row.
Visually: 1##2##3
arrange
val SpaceEvenly =
object : Horizontal {
override fun Density.arrange(
totalSize: Int,
sizes: IntArray,
layoutDirection: LayoutDirection,
outPositions: IntArray,
) = placeSpaceEvenly(totalSize, sizes, outPositions, reverseInput = false)
override fun toString() = "AbsoluteArrangement#SpaceEvenly"
}
Place children such that they are spaced evenly across the main axis, including free space before the first child and after the last child.
Unlike Arrangement.SpaceEvenly, when the layout direction is RTL, the children will not be mirrored and as such children will appear in the order they are composed inside the Row.
Visually: #1#2#3#
arrange
val SpaceAround =
object : Horizontal {
override fun Density.arrange(
totalSize: Int,
sizes: IntArray,
layoutDirection: LayoutDirection,
outPositions: IntArray,
) = placeSpaceAround(totalSize, sizes, outPositions, reverseInput = false)
override fun toString() = "AbsoluteArrangement#SpaceAround"
}
Place children such that they are spaced evenly horizontally, including free space before the first child and after the last child, but half the amount of space existing otherwise between two consecutive children.
Unlike Arrangement.SpaceAround, when the layout direction is RTL, the children will not be mirrored and as such children will appear in the order they are composed inside the Row.
Visually: #1##2##3##4#
Functions
spacedBy
fun spacedBy(space: Dp): HorizontalOrVertical
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.
Unlike Arrangement.spacedBy, when the layout direction is RTL, the children will not be mirrored and as such children will appear in the order they are composed inside the Row.
Parameters
| space | The space between adjacent children. |
spacedBy
fun spacedBy(space: Dp, alignment: Alignment.Horizontal): Horizontal
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.
Unlike Arrangement.spacedBy, when the layout direction is RTL, the children will not be mirrored and as such children will appear in the order they are composed inside the Row.
Parameters
| space | The space between adjacent children. |
| alignment | The alignment of the spaced children inside the parent. |
spacedBy
fun spacedBy(space: Dp, alignment: Alignment.Vertical): 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.
Unlike Arrangement.spacedBy, when the layout direction is RTL, the children will not be mirrored and as such children will appear in the order they are composed inside the Row.
Parameters
| space | The space between adjacent children. |
| alignment | The alignment of the spaced children inside the parent. |
aligned
fun aligned(alignment: Alignment.Horizontal): Horizontal
Place children horizontally one next to the other and align the obtained group according to an alignment.
Unlike Arrangement.aligned, when the layout direction is RTL, the children will not be mirrored and as such children will appear in the order they are composed inside the Row.
Parameters
| alignment | The alignment of the children inside the parent. |