fit_grid 1.0.0
fit_grid: ^1.0.0 copied to clipboard
Сетка с автоподбором размера и количества плиток под доступное пространство
1.0.0 #
Первый стабильный релиз.
Основной функционал #
-
Виджет
FitGrid— автоматическое размещение виджетов-карточек в сетке с минимизацией пустого пространства- Автоматический подбор количества столбцов/строк и размера плиток под доступное пространство
- Если элементов меньше
maxItemsPerPage— приоритет заполнению области, иначе — максимизации площади плитки - Настраиваемые отступы между плитками (
itemPadding) и от границ области (gridPadding) - Поддержка пропорций плиток (
aspectRatio) - Выравнивание сетки через
AlignmentDirectional— учитывает направление текста (RTL/LTR), включая отдельное выравнивание неполной последней строки - Настраиваемый список пресетов размеров плитки (
presets, по умолчаниюtileSizePresets) - Встроенная пагинация:
maxItemsPerPage,currentPage, уведомления о текущей странице и общем количестве страниц черезpageInfoNotifier(FitGridPageInfo)
-
Расчёт раскладки на layout-фазе —
FitGridLayoutDelegate(MultiChildLayoutDelegate) пересчитывает позиции при ресайзе без rebuild дерева виджетов -
TileLayoutCalculator— калькулятор оптимальной сетки: перебор комбинаций столбцов/строк, расчёт размера плиток с сохранением пропорций и учётом отступов, расчёт смещения сетки для выравнивания -
findOptimalPreset/TileSizePreset/tileSizePresets— выбор оптимального пресета размера плитки по коэффициенту заполнения области; поддержка своего списка пресетов вместо встроенного -
FitGridItemsPerPageCalculator/FitGridDefaultBreakpoints/FitGridItemsPerPageBreakpoint— расчётmaxItemsPerPageпо ширине области, с дефолтными брейкпоинтами под mobile/tablet и desktop/web или произвольным набором брейкпоинтов
Зависимости #
- Без сторонних зависимостей, только Flutter SDK
Требования #
- Flutter SDK:
>=3.41.9 - Dart SDK:
>=3.6.0 <4.0.0