Класс Arrangement
Класс Arrangement задаёт,
как распределить дочерние элементы вдоль главной оси.
У функции Row главная ось
горизонтальная, значение передают в параметр
horizontalArrangement.
У функции Column главная ось
вертикальная, значение передают в параметр
verticalArrangement.
Синтаксис
Arrangement.Center
Значения
| Значение | Описание |
|---|---|
Start |
Дочерние элементы собираются у начала горизонтальной оси. При письме слева направо это левый край. |
End |
Дочерние элементы собираются у конца горизонтальной оси. |
Top |
Дочерние элементы собираются у начала вертикальной оси. |
Bottom |
Дочерние элементы собираются у конца вертикальной оси. |
Center |
Дочерние элементы собираются в середине оси. |
SpaceBetween |
Свободное место делится поровну между дочерними элементами. У краёв зазора нет. |
SpaceAround |
Свободное место делится поровну вокруг каждого дочернего элемента. У краёв зазор вдвое меньше, чем между элементами. |
SpaceEvenly |
Свободное место делится на равные зазоры, включая края. |
У функции Row вдоль ряда по умолчанию стоит Start.
У функции Column вдоль столбца по умолчанию стоит Top.
Методы
| Метод | Описание |
|---|---|
spacedBy |
Ставит фиксированный зазор между соседними дочерними элементами вдоль оси. |
Пример
Давайте раздвинем два текста по краям ряда:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Row
import androidx.compose.material3.Text
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Row(
horizontalArrangement = Arrangement.SpaceBetween,
) {
Text(text = "abcde")
Text(text = "12345")
}
}
}
}
На экране первый текст встанет у начала ряда, второй - у конца.