Компоновка виджетов
Сложный экран собирается из простого. Text, Button, Image и Icon — атомы; чтобы расставить их по местам, нужны Row, Column и Stack. Когда элементов становится много и они приходят из данных, в дело идут List и Grid.
Row, Column и Stack
Три виджета, которые задают расположение всего остального.
-
Row — выстраивает потомков в строку, слева направо. Значок с подписью, кнопки в панели инструментов.
-
Column — в столбец, сверху вниз. Списки, секции экрана, поля формы.
-
Stack — слоями друг на друга. Текст поверх картинки, счётчик на значке, кнопка поверх фотографии.
:::info
Подробно про Row, Column и Stack.
:::
Списки и сетки
List и Grid рассчитаны на большие или заранее неизвестные наборы данных.
- Списки.
Columnгодится для нескольких элементов подряд;ListViewрассчитан на неограниченное их число и умеет прокручиваться. Это чат, лента новостей, каталог. Главное его преимущество — ленивая загрузка.
ListView строит только те элементы, которые сейчас видны на экране, а остальные создаёт по мере прокрутки. На длинном списке это разница между плавной прокруткой и подтормаживающим приложением: память и процессор не тратятся на то, чего никто не видит.
- Сетки.
GridViewраскладывает элементы в две колонки и больше. Так показывают фотографии, товары и всё, что удобнее просматривать плитками.
Подробно про списки и сетки и их продвинутые настройки.