ExtendedPageView constructor

ExtendedPageView({
  1. Key? key,
  2. Axis scrollDirection = Axis.horizontal,
  3. bool reverse = false,
  4. PageController? controller,
  5. ScrollPhysics? physics,
  6. bool pageSnapping = true,
  7. ValueChanged<int>? onPageChanged,
  8. List<Widget> children = const <Widget>[],
  9. DragStartBehavior dragStartBehavior = DragStartBehavior.start,
  10. bool allowImplicitScrolling = false,
  11. String? restorationId,
  12. Clip clipBehavior = Clip.hardEdge,
  13. int cacheExtent = 0,
  14. bool shouldIgnorePointerWhenScrolling = true,
})

Creates a scrollable list that works page by page from an explicit List of widgets.

This constructor is appropriate for page views with a small number of children because constructing the List requires doing work for every child that could possibly be displayed in the page view, instead of just those children that are actually visible.

Implementation

ExtendedPageView({
  Key? key,
  this.scrollDirection = Axis.horizontal,
  this.reverse = false,
  PageController? controller,
  this.physics,
  this.pageSnapping = true,
  this.onPageChanged,
  List<Widget> children = const <Widget>[],
  this.dragStartBehavior = DragStartBehavior.start,
  this.allowImplicitScrolling = false,
  this.restorationId,
  this.clipBehavior = Clip.hardEdge,
  this.cacheExtent = 0,
  this.shouldIgnorePointerWhenScrolling = true,
})  : controller = controller ?? _defaultPageController,
      childrenDelegate = SliverChildListDelegate(children),
      super(key: key);