GridView.extent constructor

GridView.extent(
  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 double maxCrossAxisExtent,
  10. double mainAxisSpacing: 0.0,
  11. double crossAxisSpacing: 0.0,
  12. double childAspectRatio: 1.0,
  13. bool addAutomaticKeepAlives: true,
  14. bool addRepaintBoundaries: true,
  15. bool addSemanticIndexes: true,
  16. List<Widget> children: const [],
  17. int semanticChildCount,
  18. DragStartBehavior dragStartBehavior: DragStartBehavior.start}
)

Creates a scrollable, 2D array of widgets with tiles that each have a maximum cross-axis extent.

Uses a SliverGridDelegateWithMaxCrossAxisExtent 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.extent({
  Key key,
  Axis scrollDirection = Axis.vertical,
  bool reverse = false,
  ScrollController controller,
  bool primary,
  ScrollPhysics physics,
  bool shrinkWrap = false,
  EdgeInsetsGeometry padding,
  @required double maxCrossAxisExtent,
  double mainAxisSpacing = 0.0,
  double crossAxisSpacing = 0.0,
  double childAspectRatio = 1.0,
  bool addAutomaticKeepAlives = true,
  bool addRepaintBoundaries = true,
  bool addSemanticIndexes = true,
  List<Widget> children = const <Widget>[],
  int semanticChildCount,
  DragStartBehavior dragStartBehavior = DragStartBehavior.start,
}) : gridDelegate = SliverGridDelegateWithMaxCrossAxisExtent(
       maxCrossAxisExtent: maxCrossAxisExtent,
       mainAxisSpacing: mainAxisSpacing,
       crossAxisSpacing: crossAxisSpacing,
       childAspectRatio: childAspectRatio,
     ),
     childrenDelegate = SliverChildListDelegate(
       children,
       addAutomaticKeepAlives: addAutomaticKeepAlives,
       addRepaintBoundaries: addRepaintBoundaries,
       addSemanticIndexes: addSemanticIndexes,
     ),
     super(
       key: key,
       scrollDirection: scrollDirection,
       reverse: reverse,
       controller: controller,
       primary: primary,
       physics: physics,
       shrinkWrap: shrinkWrap,
       padding: padding,
       semanticChildCount: semanticChildCount ?? children.length,
       dragStartBehavior: dragStartBehavior,
     );