Выравнивание по главной оси в Flutter
У Column
и Row
главная ось - направление, в котором идут потомки:
сверху вниз у колонки и слева направо у ряда.
Параметр mainAxisAlignment
задаёт, как свободное место вдоль этой оси
распределяется между потомками.
Значение MainAxisAlignment.start
прижимает группу
к началу оси (верх у Column, левый край у
Row). Значение
MainAxisAlignment.center
центрирует потомков. Эти значения удобны, когда
блок короче доступной области:
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: const [
Text('Center'),
Text('vertically'),
],
)
Значение MainAxisAlignment.spaceBetween
ставит
первого потомка в начало, последнего в конец,
а промежуток между соседними делит поровну.
Значение MainAxisAlignment.spaceEvenly
добавляет
одинаковые отступы и между потомками, и по краям
группы:
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: const [
Text('Left'),
Text('Right'),
],
)
Равные отступы по краям и между потомками задают так:
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: const [
Icon(Icons.circle),
Icon(Icons.circle),
Icon(Icons.circle),
],
)
В body разместите Column на
всю высоту с mainAxisAlignment:
MainAxisAlignment.spaceBetween и тремя
Text: 'Top', 'Middle',
'Bottom'. Верхняя строка у верхнего края,
нижняя у нижнего, средняя посередине между ними.