PageView.builder constructor

PageView.builder({Key key, Axis scrollDirection: Axis.horizontal, bool reverse: false, PageController controller, ScrollPhysics physics, bool pageSnapping: true, ValueChanged<int> onPageChanged, @required IndexedWidgetBuilder itemBuilder, int itemCount })

Creates a scrollable list that works page by page using widgets that are created on demand.

This constructor is appropriate for page views with a large (or infinite) number of children because the builder is called only for those children that are actually visible.

Providing a non-null itemCount lets the PageView compute the maximum scroll extent.

itemBuilder will be called only with indices greater than or equal to zero and less than itemCount.

Implementation

PageView.builder({
  Key key,
  this.scrollDirection = Axis.horizontal,
  this.reverse = false,
  PageController controller,
  this.physics,
  this.pageSnapping = true,
  this.onPageChanged,
  @required IndexedWidgetBuilder itemBuilder,
  int itemCount,
}) : controller = controller ?? _defaultPageController,
     childrenDelegate = SliverChildBuilderDelegate(itemBuilder, childCount: itemCount),
     super(key: key);