userScrollDirection property
The direction in which the user is trying to change pixels, relative to the viewport's RenderViewport.axisDirection.
If the user is not scrolling, this will return ScrollDirection.idle even if there is (for example) a ScrollActivity currently animating the position.
This is exposed in SliverConstraints.userScrollDirection, which is used by some slivers to determine how to react to a change in scroll offset. For example, RenderSliverFloatingPersistentHeader will only expand a floating app bar when the userScrollDirection is in the positive scroll offset direction.
Implementation
ScrollDirection get userScrollDirection;