GridView.custom constructor

const GridView.custom(
  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 SliverGridDelegate gridDelegate,
  10. @required SliverChildDelegate childrenDelegate,
  11. double cacheExtent,
  12. int semanticChildCount,
  13. DragStartBehavior dragStartBehavior: DragStartBehavior.start}
)

Creates a scrollable, 2D array of widgets with both a custom SliverGridDelegate and a custom SliverChildDelegate.

To use an IndexedWidgetBuilder callback to build children, either use a SliverChildBuilderDelegate or use the GridView.builder constructor.

The gridDelegate and childrenDelegate arguments must not be null.

Implementation

const GridView.custom({
  Key key,
  Axis scrollDirection = Axis.vertical,
  bool reverse = false,
  ScrollController controller,
  bool primary,
  ScrollPhysics physics,
  bool shrinkWrap = false,
  EdgeInsetsGeometry padding,
  @required this.gridDelegate,
  @required this.childrenDelegate,
  double cacheExtent,
  int semanticChildCount,
  DragStartBehavior dragStartBehavior = DragStartBehavior.start,
}) : assert(gridDelegate != null),
     assert(childrenDelegate != null),
     super(
       key: key,
       scrollDirection: scrollDirection,
       reverse: reverse,
       controller: controller,
       primary: primary,
       physics: physics,
       shrinkWrap: shrinkWrap,
       padding: padding,
       cacheExtent: cacheExtent,
       semanticChildCount: semanticChildCount,
       dragStartBehavior: dragStartBehavior,
     );