Разработка Android приложений с Jetpack Compose - стр. 5
Box
Box – аналог FrameLayout в XML. Нижний элемент будет отображаться поверх остальных, первый выполняет функцию подложки/фона.
View без обернутого в Box имеет схожее поведение. За единственным исключением: вы не сможете контролировать расположение элементов на экране.
Box принимает 4 параметра:
• modifier – позволяет настроить внешний вид и его поведение;
• contentAlignment – устанавливает расположение элемента на экране, по умолчанию имеет значение Alignment.TopStart (расположение вначале контейнера в верхнем углу);
• propagateMinConstraints – указывает, надо ли применять к содержимому ограничения минимального размера во время отрисовки, по умолчанию false;
• content – объект интерфейса BoxScope, который подставляет вложенное содержимое, может быть заменен на лямбда-блок.
Column
Column layout – вертикальный список, LinearLayout в XML
Column принимает 4 параметра:
• modifier – позволяет настроить внешний вид и его поведение;
• verticalArrangment – выравнивание элементов по вертикали, по умолчанию имеет значение Arrangment.Top;
• horizontalAlignment – выравнивание по горизонтали, по умолчанию имеет значение Alignment.Start;
• content – объект интерфейса ColumnScope, который подставляет вложенное содержимое, может быть заменен на лямбда-блок;
VerticalArrangment позволяет изменить позиционирование элементов по вертикали не только стандартными модификаторами, такими как: Arrangment.Center, Arrangment.Bottom, Arrangment.Top, но и более гибкими, которые позволяют располагать элементы равномерно внутри layout.
• Arrangment.SpaceAround – компоненты равномерно распределяются по всей высоте с отступами между элементами, при этом отступы между первым и последним элементами равны половине отступов между элементами;
• Arrangement.SpaceBetween – компоненты распределяются по всей высоте с равномерными отступами между элементами, при этом первый и последний элементы прижимаются к границам контейнера;