createScrollPosition method

  1. @override
ScrollPosition createScrollPosition(
  1. ScrollPhysics physics,
  2. ScrollContext context,
  3. ScrollPosition? oldPosition
)
override

Creates a ScrollPosition for use by a Scrollable widget.

Subclasses can override this function to customize the ScrollPosition used by the scrollable widgets they control. For example, PageController overrides this function to return a page-oriented scroll position subclass that keeps the same page visible when the scrollable widget resizes.

By default, returns a ScrollPositionWithSingleContext.

The arguments are generally passed to the ScrollPosition being created:

Implementation

@override
ScrollPosition createScrollPosition(ScrollPhysics physics,
        ScrollContext context, ScrollPosition? oldPosition) =>
    _ToggleSheetScrollPosition(
      physics: physics,
      context: context,
      oldPosition: oldPosition,
      getExtent: () => _extent,
      isInteractive: isInteractive,
      onClose: () {
        if (_extent.isClosed) {
          if (resetContentScrollOnClosed) {
            _resetScrollPosition();
          }
          onClose?.call(this);
        }
      },
    );