flutter_staggered_grid_view_plus 1.0.1
flutter_staggered_grid_view_plus: ^1.0.1 copied to clipboard
A maintained successor and migration of flutter_staggered_grid_view providing a collection of Flutter grid layouts (staggered, masonry, quilted, woven, etc.) for current Flutter versions.
1.0.1 #
Fixed #
- Upstream issue #338 (and its duplicates #335, #299, #286, #265): the
multi-
SliverMasonryGridscrolling fix in 1.0.0 was incomplete for larger sections. With two 60-item sections,jumpTo(maxScrollExtent)still landed back at offset 0 and repeated drags could jump back by thousands of pixels. Root cause: after such a jump, a masonry sliver can be retained as only its last child, leaving a column with no retained child to seed its offset from; the backward search for a leading child could then never seed that column, exhausted all children, and returned a scroll offset correction that reset the whole viewport. The search now falls through to a forward layout from the first item in that state, which rebuilds the exact column offsets and reports the sliver's true extent. Covered by regression tests using the exact reported scenario (two 60-item sections,jumpToand 45 drags).
1.0.0 #
First release of flutter_staggered_grid_view_plus, a maintained fork of
flutter_staggered_grid_view 0.7.0. The public API is unchanged: migration
only requires changing the package name and the import line.
Changed #
- Raised the SDK constraints to Dart ^3.13.0 / Flutter >= 3.47.0 and updated dependencies.
- Fixed all
flutter analyzeissues.
Fixed #
Upstream issues from https://github.com/letsar/flutter_staggered_grid_view:
- #362: layout crashed with negative BoxConstraints when the available extent was smaller than the spacing (or zero). Tile extents are now clamped and cross axis counts are never zero.
- #361: patterned layouts (e.g. SliverStairedGridDelegate) could throw "Infinity or NaN toInt" when converting a scroll offset with a degenerate pattern extent.
- #344:
StaggeredGridDelegateand its two implementations were not exported, which madeStaggeredGrid.customunusable from the public API. - #221: SliverQuiltedGridDelegate threw a RangeError for patterns such as [1x1, 1x1, 2x2] with crossAxisCount 3, because a wide tile was placed without checking that it fits in the remaining columns.
- #338 (and its duplicates #335, #299, #286, #265): scrolling was broken with multiple SliverMasonryGrid sections in one CustomScrollView. When a section had columns with no retained child yet, the leading-child search treated the placeholder column offsets as real offsets and returned a bogus scroll correction for the whole offset, so e.g. jumping to the end of the list landed mid-list and the second section never appeared. The search now only runs when it can actually fetch a leading child. (Informed by upstream PR #277 by @JackyMR.)
- #301:
itemBuilderof MasonryGridView.builder/.count/.extent and SliverMasonryGrid.count/.extent now accepts a nullable return value; returning null signals the end of the list, like ListView.builder, when no itemCount/childCount is given. (Ported from upstream PR #365 by @angcyo.)
0.6.2 #
Fixed #
- Issue with Quilted layout algorithm. (https://github.com/letsar/flutter_staggered_grid_view/issues/232)
0.6.0 #
0.5.0-dev.8 #
Changed #
- Make the
childCountparameter ofSliverMasonryGridconstructors, nullable and not required.
0.5.0-dev.1 #
Changed #
- Complete rewriting of the package. It comes now with 5 differents grid layouts (Staggered, Masonry, Quilted, Woven, Staired).
0.4.0-nullsafety.3 #
Fixed #
- LateInitializationError: Local
firstIndexhas not been initialized. (https://github.com/letsar/flutter_staggered_grid_view/issues/151)
0.3.0 #
Fixed #
- Upgrade to AndroidX and fixes the BoxHitTestResult exception (https://github.com/letsar/flutter_staggered_grid_view/issues/49)
0.2.3 #
Fixed #
- Fix the rtl support (https://github.com/letsar/flutter_staggered_grid_view/issues/17).
0.2.2 #
- Add Dart 2 support.
0.2.1 #
- Fix #10
StatefulWidget.createState must return a subtype of State<AutomaticKeepAliveVariableSizeBox>.
0.2.0 #
- Add a way to let the tile's content to define the tile's extent in the main axis.
- Add
fitconstructor toStaggeredTile.
0.1.4 #
- Add
countBuilderandextendBuilderconstructors toSliverStaggeredGrid
0.1.3 #
- Remove Flutter SDK constraint
0.1.2 #
- Remove update Flutter SDK constraint
0.1.1 #
- Fix images in readme
- Add dynamic resizing demo
0.1.0 #
- Initial Open Source release