InViewNotifierCustomScrollView class

builds a CustomScrollView and notifies when the widgets are on screen within a provided area.

A CustomScrollView lets you supply slivers directly to create various scrolling effects, such as lists, grids, and expanding headers. For example, to create a scroll view that contains an expanding app bar followed by a list and a grid, use a list of three slivers: SliverAppBar, SliverList, and SliverGrid.

Inheritance

Constructors

InViewNotifierCustomScrollView({Key? key, required List<Widget> slivers, List<String> initialInViewIds = const [], double endNotificationOffset = 0.0, VoidCallback? onListEndReached, Duration throttleDuration = const Duration(milliseconds: 200), Axis scrollDirection = Axis.vertical, required IsInViewPortCondition isInViewPortCondition, ScrollController? controller, ScrollPhysics? physics, bool reverse = false, bool? primary, bool shrinkWrap = false, Key? center, double anchor = 0.0})

Properties

child ScrollView
The widget that should be displayed in the InViewNotifier.
finalinherited
endNotificationOffset double
The distance from the bottom of the list where the onListEndReached should be invoked.
finalinherited
hashCode int
The hash code for this object.
no setterinherited
initialInViewIds List<String>
The String list of ids of the child widgets that should be initialized as inView when the list view is built for the first time.
finalinherited
isInViewPortCondition IsInViewPortCondition
The function that defines the area within which the widgets should be notified as inView.
finalinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onListEndReached VoidCallback?
The function that is invoked when the list scroll reaches the end or the endNotificationOffset if provided.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrollDirection Axis
The axis along which the scroll view scrolls.
finalinherited
throttleDuration Duration
The duration to be used for throttling the scroll notification. Defaults to 200 milliseconds.
finalinherited

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → _InViewNotifierState
Creates the mutable state for this widget at a given location in the tree.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

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

Static Methods

of(BuildContext context) InViewState?