GridView.count constructor

GridView.count({
  1. required ScrollViewProperties properties,
  2. Key? key,
  3. ScrollPhysics? physics,
  4. bool shrinkWrap = false,
  5. EdgeInsetsGeometry? padding,
  6. required int crossAxisCount,
  7. double mainAxisSpacing = 0.0,
  8. double crossAxisSpacing = 0.0,
  9. double childAspectRatio = 1.0,
  10. bool addAutomaticKeepAlives = true,
  11. bool addRepaintBoundaries = true,
  12. bool addSemanticIndexes = true,
  13. double? cacheExtent,
  14. List<Widget> children = const <Widget>[],
  15. int? semanticChildCount,
  16. DragStartBehavior dragStartBehavior = DragStartBehavior.start,
  17. ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual,
  18. String? restorationId,
  19. Clip clipBehavior = Clip.hardEdge,
})

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

Uses a SliverGridDelegateWithFixedCrossAxisCount as the gridDelegate.

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

See also:

Implementation

GridView.count({
  required ScrollViewProperties properties,
  Key? key,
  ScrollPhysics? physics,
  bool shrinkWrap = false,
  EdgeInsetsGeometry? padding,
  required int crossAxisCount,
  double mainAxisSpacing = 0.0,
  double crossAxisSpacing = 0.0,
  double childAspectRatio = 1.0,
  bool addAutomaticKeepAlives = true,
  bool addRepaintBoundaries = true,
  bool addSemanticIndexes = true,
  double? cacheExtent,
  List<Widget> children = const <Widget>[],
  int? semanticChildCount,
  DragStartBehavior dragStartBehavior = DragStartBehavior.start,
  ScrollViewKeyboardDismissBehavior keyboardDismissBehavior =
      ScrollViewKeyboardDismissBehavior.manual,
  String? restorationId,
  Clip clipBehavior = Clip.hardEdge,
})  : gridDelegate = SliverGridDelegateWithFixedCrossAxisCount(
        crossAxisCount: crossAxisCount,
        mainAxisSpacing: mainAxisSpacing,
        crossAxisSpacing: crossAxisSpacing,
        childAspectRatio: childAspectRatio,
      ),
      childrenDelegate = SliverChildListDelegate(
        children,
        addAutomaticKeepAlives: addAutomaticKeepAlives,
        addRepaintBoundaries: addRepaintBoundaries,
        addSemanticIndexes: addSemanticIndexes,
      ),
      super(
        properties: properties,
        key: key,
        physics: physics,
        shrinkWrap: shrinkWrap,
        padding: padding,
        cacheExtent: cacheExtent,
        semanticChildCount: semanticChildCount ?? children.length,
        dragStartBehavior: dragStartBehavior,
        keyboardDismissBehavior: keyboardDismissBehavior,
        restorationId: restorationId,
        clipBehavior: clipBehavior,
      );