ScrollPosController class

Controls a scrollable widget.

This class extends ScrollController and adds functionality to it. A ScrollPosController allow you to place an item on a specific area of the screen.

Inheritance

Constructors

ScrollPosController({int itemCount = 0, bool animate = true, Duration animationDuration = _kDefaultAnimationDuration, Curve animationCurve = _kDefaultAnimationCurve, double initialScrollOffset = 0.0, bool keepScrollOffset = true, String? debugLabel})

Properties

animate bool
getter/setter pair
animationCurve Curve
getter/setter pair
animationDuration Duration
getter/setter pair
canBackward bool
canBackward indicate if the scrollbar is at the start position.
no setter
canForward bool
canForward indicate if the scrollbar is at the end position.
no setter
canScroll bool
canScroll indicate if this widget has scrollable content
no setter
debugLabel String?
A label that is used in the toString output. Intended to aid with identifying scroll controller instances in debug output.
finalinherited
hasClients bool
Whether any ScrollPosition objects have attached themselves to the ScrollController using the attach method.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
Whether any listeners are currently registered.
no setterinherited
initialScrollOffset double
The initial value to use for offset.
no setterinherited
inside double
no setter
itemCount int
getter/setter pair
keepScrollOffset bool
Each time a scroll completes, save the current scroll offset with PageStorage and restore it if this controller's scrollable is recreated.
finalinherited
max double
no setter
offset double
The current scroll offset of the scrollable widget.
no setteroverride
onAttach ScrollControllerCallback?
Called when a ScrollPosition is attached to the scroll controller.
finalinherited
onDetach ScrollControllerCallback?
Called when a ScrollPosition is detached from the scroll controller.
finalinherited
position ScrollPosition
Returns the attached ScrollPosition, from which the actual scroll offset of the ScrollView can be obtained.
no setterinherited
positions Iterable<ScrollPosition>
The currently attached positions.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrollPerItem double
scrollPerItem returns the quantity of scroll needed for travel the height of one item.
no setter
total double
total returns the total of the inside part and the scrollable part.
no setter
visibleItems double
visibleItems returns the quantity of items visible in the screen.
no setter

Methods

addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
inherited
animateTo(double offset, {required Duration duration, required Curve curve}) Future<void>
Animates the position from its current value to the given value.
inherited
attach(ScrollPosition position) → void
Register the given position with this controller.
inherited
backward({bool align = true, bool? animate}) → void
backward will move the scrollbar with a distance of one item in the top direction. If value of align is true, the first visible item will be aligned.
createScrollPosition(ScrollPhysics physics, ScrollContext context, ScrollPosition? oldPosition) ScrollPosition
Creates a ScrollPosition for use by a Scrollable widget.
inherited
debugFillDescription(List<String> description) → void
Add additional information to the given description for use by toString.
inherited
detach(ScrollPosition position) → void
Unregister the given position with this controller.
inherited
dispose() → void
Discards any resources used by the object. After this is called, the object is not in a usable state and should be discarded (calls to addListener will throw after the object is disposed).
inherited
forward({bool align = true, bool? animate}) → void
backward will move the scrollbar with a distance of one item in the bottom direction. If value of align is true, the last visible item will be aligned.
jumpTo(double value) → void
Jumps the scroll position from its current value to the given value, without animation, and without checking if the new value is in range.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
Call all the registered listeners.
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
inherited
scrollOffItemCenter(int index) double
scrollOffItemCenter return the offset when the item is placed at the center of the screen.
scrollOffItemEnd(int index) double
scrollOfItemBottom return the offset when the item is placed at the bottom of the screen.
scrollOffItemStart(int index) double
scrollOffItemTop return the offset when the item is placed at the top of the screen.
scrollToEnd({bool? animate}) → void
scrollBottom will move the scrollbar to the bottom (last item).
scrollToItem(int index, {bool? animate, bool center = false}) → void
scrollToItem will move the scrollbar to make the item (defined by its index) visible on the screen. If the item is already fully visible in the screen, the scrollbar is not moved.
scrollToStart({bool? animate}) → void
scrollTop will move the scrollbar to the top (first item).
toString() String
A string representation of this object.
inherited

Operators

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