Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗flPmLyCA 26 of 125 menu
◀ ▶

Выравнивание по поперечной оси в Flutter

Поперечная ось перпендикулярна главной: у Column это горизонталь, у Row - вертикаль. Параметр crossAxisAlignment определяет, как потомки выстраиваются вдоль неё, когда ширина или высота ряда больше, чем нужно содержимому.

Значение CrossAxisAlignment.start прижимает потомков к началу поперечной оси (слева в колонке, к верху в ряду). Значение CrossAxisAlignment.center центрирует их. Узкий текст в широкой колонке окажется по центру или с краю в зависимости от значения:

SizedBox( width: 200, child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: const [ Text('Short'), Text('Long label'), ], ), )

Отдельный режим - CrossAxisAlignment.stretch. Он заставляет каждого потомка растянуться на всю ширину колонки или всю высоту ряда в пределах поперечной оси. Полезно, когда нужны кнопки или плашки на всю ширину экрана внутри Column:

Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ ElevatedButton( onPressed: () {}, child: const Text('Full width'), ), ElevatedButton( onPressed: () {}, child: const Text('This one too'), ), ], )

Соберите Column на всю ширину body так:

Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ ElevatedButton( onPressed: () {}, child: Text('One'), ), ElevatedButton( onPressed: () {}, child: Text('Two'), ), ], )

Обе кнопки доходят до левого и правого края body.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить