ScrollPhysics class
Determines the physics of a Scrollable widget.
For example, determines how the Scrollable will behave when the user reaches the maximum scroll extent or when the user stops scrolling.
When starting a physics Simulation, the current scroll position and velocity are used as the initial conditions for the particle in the simulation. The movement of the particle in the simulation is then used to determine the scroll position for the widget.
- Implementers
- Annotations
- @immutable
Constructors
- ScrollPhysics({ScrollPhysics parent })
-
Creates an object with the default scroll physics.
const
Properties
- allowImplicitScrolling → bool
-
Whether a viewport is allowed to change its scroll position implicitly in
responds to a call to RenderObject.showOnScreen. [...]
read-only
- dragStartDistanceMotionThreshold → double
-
The minimum amount of pixel distance drags must move by to start motion
the first time or after each time the drag motion stopped. [...]
read-only
- maxFlingVelocity → double
-
Scroll fling velocity magnitudes will be clamped to this value.
read-only
- minFlingDistance → double
-
The minimum distance an input pointer drag must have moved to
to be considered a scroll fling gesture. [...]
read-only
- minFlingVelocity → double
-
The minimum velocity for an input pointer drag to be considered a
scroll fling. [...]
read-only
- parent → ScrollPhysics
-
If non-null, determines the default behavior for each method. [...]
final
- spring → SpringDescription
-
The spring to use for ballistic simulations.
read-only
- tolerance → Tolerance
-
The tolerance to use for ballistic simulations.
read-only
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Methods
-
applyBoundaryConditions(
ScrollMetrics position, double value) → double - Determines the overscroll by applying the boundary conditions. [...]
-
applyPhysicsToUserOffset(
ScrollMetrics position, double offset) → double - Used by DragScrollActivity and other user-driven activities to convert an offset in logical pixels as provided by the DragUpdateDetails into a delta to apply (subtract from the current position) using ScrollActivityDelegate.setPixels. [...]
-
applyTo(
ScrollPhysics ancestor) → ScrollPhysics -
If parent is null then return a ScrollPhysics with the same
runtimeType where the parent has been replaced with the
ancestor
. [...] -
buildParent(
ScrollPhysics ancestor) → ScrollPhysics -
If parent is null then return ancestor, otherwise recursively build a
ScrollPhysics that has
ancestor
as its parent. [...]@protected -
carriedMomentum(
double existingVelocity) → double - Returns the velocity carried on repeated flings. [...]
-
createBallisticSimulation(
ScrollMetrics position, double velocity) → Simulation - Returns a simulation for ballistic scrolling starting from the given position with the given velocity. [...]
-
shouldAcceptUserOffset(
ScrollMetrics position) → bool - Whether the scrollable should let the user adjust the scroll offset, for example by dragging. [...]
-
toString(
) → String -
Returns a string representation of this object.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
Operators
-
operator ==(
dynamic other) → bool -
The equality operator. [...]
inherited