ScrollBehavior class Null safety

Describes how Scrollable widgets should behave.

Used by ScrollConfiguration to configure the Scrollable widgets in a subtree.

This class can be extended to further customize a ScrollBehavior for a subtree. For example, overriding ScrollBehavior.getScrollPhysics sets the default ScrollPhysics for Scrollables that inherit this ScrollConfiguration. Overriding ScrollBehavior.buildOverscrollIndicator can be used to add or change the default GlowingOverscrollIndicator decoration, while ScrollBehavior.buildScrollbar can be changed to modify the default Scrollbar.

When looking to easily toggle the default decorations, you can use ScrollBehavior.copyWith instead of creating your own ScrollBehavior class. The scrollbar and overscrollIndicator flags can turn these decorations off.

See also:

Implementers
Annotations

Constructors

ScrollBehavior({@Deprecated('Use ThemeData.useMaterial3 or override ScrollBehavior.buildOverscrollIndicator. ' 'This feature was deprecated after v2.13.0-0.0.pre.') AndroidOverscrollIndicator? androidOverscrollIndicator})
Creates a description of how Scrollable widgets should behave.
const

Properties

androidOverscrollIndicator AndroidOverscrollIndicator
Specifies which overscroll indicator to use on TargetPlatform.android.
Deprecated('Use ThemeData.useMaterial3 or override ScrollBehavior.buildOverscrollIndicator. ' 'This feature was deprecated after v2.13.0-0.0.pre.')">@Deprecated('Use ThemeData.useMaterial3 or override ScrollBehavior.buildOverscrollIndicator. ' 'This feature was deprecated after v2.13.0-0.0.pre.')read-only
dragDevices Set<PointerDeviceKind>
The device kinds that the scrollable will accept drag gestures from.
read-only
hashCode int
The hash code for this object.
read-onlyinherited
runtimeType Type
A representation of the runtime type of the object.
read-onlyinherited

Methods

buildOverscrollIndicator(BuildContext context, Widget child, ScrollableDetails details) Widget
Applies a GlowingOverscrollIndicator to the child widget on TargetPlatform.android and TargetPlatform.fuchsia.
buildScrollbar(BuildContext context, Widget child, ScrollableDetails details) Widget
Applies a RawScrollbar to the child widget on desktop platforms.
buildViewportChrome(BuildContext context, Widget child, AxisDirection axisDirection) Widget
Wraps the given widget, which scrolls in the given AxisDirection.
Deprecated('Migrate to buildOverscrollIndicator. ' 'This feature was deprecated after v2.1.0-11.0.pre.')">@Deprecated('Migrate to buildOverscrollIndicator. ' 'This feature was deprecated after v2.1.0-11.0.pre.')
copyWith({bool? scrollbars, bool? overscroll, Set<PointerDeviceKind>? dragDevices, ScrollPhysics? physics, TargetPlatform? platform, AndroidOverscrollIndicator? androidOverscrollIndicator}) ScrollBehavior
Creates a copy of this ScrollBehavior, making it possible to easily toggle scrollbar and overscrollIndicator effects.
getPlatform(BuildContext context) TargetPlatform
The platform whose scroll physics should be implemented.
getScrollPhysics(BuildContext context) ScrollPhysics
The scroll physics to use for the platform given by getPlatform.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
inherited
shouldNotify(covariant ScrollBehavior oldDelegate) bool
Called whenever a ScrollConfiguration is rebuilt with a new ScrollBehavior of the same runtimeType.
toString() String
A string representation of this object.
override
velocityTrackerBuilder(BuildContext context) GestureVelocityTrackerBuilder
Specifies the type of velocity tracker to use in the descendant Scrollables' drag gesture recognizers, for estimating the velocity of a drag gesture.

Operators

operator ==(Object other) bool
The equality operator.
inherited