Такие разные Slivers. Часть 3: работа с пространством

от автора

Всем привет! Двигаемся дальше в изучении сливеров, в прошлых статьях мы познакомились со сливерами-списками, посмотрели на их базовые классы и делегаты. В этой статье будем рассматривать сливеры, которые помогают управлять отступами, позиционированием и распределением пространства. Эти виджеты обеспечивают гибкость при настройке компоновки и позволяют создавать более точные и адаптивные интерфейсы.

Предыдущие материалы по теме:
Такие разные Slivers. Часть 1: обзор и применение во Flutter
Такие разные Slivers. Часть 2: базовые классы и делегаты

SliverPadding — добавляет отступы для другого сливера.

SliverPadding(   padding: const EdgeInsets.all(50.0),   sliver: SomeSliver(), ),

SliverSafeArea — оборачивает дочерний сливер в достаточный padding, чтобы избежать перекрытий операционной системы

SliverSafeArea(   sliver: SomeSliver(), ),

SliverConstrainedCrossAxis — ограничивает размер дочернего sliver по поперечной оси.

SliverConstrainedCrossAxis(   maxExtent: 250,   sliver: SomeSliver(), ),

SliverMainAxisGroup — размещает множество дочерних сливеров в линейном массиве вдоль главной оси, один за другим. То же самое делает SliverList, но только для обычных виджетов, данный сливер же работает со сливерами, которые в том числе могут быть нефиксированной высоты. Можно использовать, например, чтобы добавить закрепленный заголовок только для части контента в скролле.

SliverMainAxisGroup(   slivers: [     SomeSliver(),     AnotherSliver(),   ], ),

SliverCrossAxisGroup — размещает дочерние сливеры в массиве по поперечной оси.

SliverCrossAxisGroup(   slivers: [     SomeSliver(),     AnotherSliver(),   ], ),

SliverCrossAxisExpanded — устанавливает flex коэффициент для распределения пространства в SliverCrossAxisGroup.

SliverCrossAxisGroup(   slivers: [     SliverCrossAxisExpanded(       flex: 3,       sliver: SomeSliver(),     ),     SliverCrossAxisExpanded(       flex: 2,       sliver: AnotherSliver(),     ),   ], ),

SliverToBoxAdapter — отображает один виджет, что позволяет обычным виджетам работать со сливерами.

SliverToBoxAdapter(   child: Container(     color: Colors.orange,     child: const Text('Item'),   ), ),

SliverFillRemaining — заполняет оставшееся пространство в области просмотра.

SliverFillRemaining(   child: Container(     color: orange,     child: const Text('Item'),   ), ),

В следующей части познакомимся со сливерами для более гибкого управления размерами и поведением элементов во время прокрутки.


ссылка на оригинал статьи https://habr.com/ru/articles/877390/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *