StaggeredGridView.count constructor

StaggeredGridView.count({
  1. Key? key,
  2. Axis scrollDirection = Axis.vertical,
  3. bool reverse = false,
  4. ScrollController? controller,
  5. bool? primary,
  6. ScrollPhysics? physics,
  7. bool shrinkWrap = false,
  8. EdgeInsetsGeometry? padding,
  9. required int crossAxisCount,
  10. double mainAxisSpacing = 0.0,
  11. double crossAxisSpacing = 0.0,
  12. bool addAutomaticKeepAlives = true,
  13. bool addRepaintBoundaries = true,
  14. List<Widget> children = const <Widget>[],
  15. List<StaggeredTile> staggeredTiles = const <StaggeredTile>[],
  16. String? restorationId,
})

Creates a scrollable, 2D array of widgets of variable sizes with a fixed number of tiles in the cross axis.

Uses a SliverStaggeredGridDelegateWithFixedCrossAxisCount as the gridDelegate.

The addAutomaticKeepAlives argument corresponds to the SliverVariableSizeChildListDelegate.addAutomaticKeepAlives property. The addRepaintBoundaries argument corresponds to the SliverVariableSizeChildListDelegate.addRepaintBoundaries property. Both must not be null.

See also:

Implementation

StaggeredGridView.count({
  Key? key,
  Axis scrollDirection = Axis.vertical,
  bool reverse = false,
  ScrollController? controller,
  bool? primary,
  ScrollPhysics? physics,
  bool shrinkWrap = false,
  EdgeInsetsGeometry? padding,
  required int crossAxisCount,
  double mainAxisSpacing = 0.0,
  double crossAxisSpacing = 0.0,
  this.addAutomaticKeepAlives = true,
  bool addRepaintBoundaries = true,
  List<Widget> children = const <Widget>[],
  List<StaggeredTile> staggeredTiles = const <StaggeredTile>[],
  String? restorationId,
})  : gridDelegate = SliverStaggeredGridDelegateWithFixedCrossAxisCount(
        crossAxisCount: crossAxisCount,
        mainAxisSpacing: mainAxisSpacing,
        crossAxisSpacing: crossAxisSpacing,
        staggeredTileBuilder: (i) => staggeredTiles[i],
        staggeredTileCount: staggeredTiles.length,
      ),
      childrenDelegate = SliverChildListDelegate(
        children,
        addAutomaticKeepAlives: addAutomaticKeepAlives,
        addRepaintBoundaries: addRepaintBoundaries,
      ),
      super(
        key: key,
        scrollDirection: scrollDirection,
        reverse: reverse,
        controller: controller,
        primary: primary,
        physics: physics,
        shrinkWrap: shrinkWrap,
        padding: padding,
        restorationId: restorationId,
      );