FlutterPostFrameScrollMixin<T extends StatefulWidget> mixin

A mixin that provides post-frame callback with multiple scroll controller support.

Use this mixin in a StatefulWidget to get access to scroll management after the first frame is rendered.

Example:

class MyWidget extends StatefulWidget {
  @override
  State<MyWidget> createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget>
    with FlutterPostFrameScrollMixin<MyWidget> {
  @override
  List<String> get scrollControllerKeys => ['mainList', 'secondaryList'];

  @override
  FutureOr<void> onAfterBuildFrameWithScroll(PostFrameScrollData data) {
    // Access scroll controllers and widget info here
    print('Widget size: ${data.size}');
    data.scrollManager.animateTo('mainList', 100,
      duration: Duration(milliseconds: 300));
  }

  @override
  Widget build(BuildContext context) {
    return ListView(
      controller: scrollManager['mainList'],
      children: [...],
    );
  }
}
Superclass constraints

Properties

context BuildContext
The location in the tree where this widget builds.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
initialScrollOffsets Map<String, double>?
Override to provide initial scroll offsets for each controller key.
no setter
mounted bool
Whether this State object is currently in a tree.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrollControllerKeys List<String>
Override to provide the list of scroll controller keys to create.
no setter
scrollManager PostFrameScrollManager
The scroll manager for accessing multiple controllers.
no setter
widget → T
The current configuration.
no setterinherited
widgetSize Size?
The size of the widget after the first frame.
no setter

Methods

activate() → void
Called when this object is reinserted into the tree after having been removed via deactivate.
inherited
build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
inherited
deactivate() → void
Called when this object is removed from the tree.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
didChangeDependencies() → void
Called when a dependency of this State object changes.
inherited
didUpdateWidget(covariant T oldWidget) → void
Called whenever the widget configuration changes.
inherited
dispose() → void
Called when this object is removed from the tree permanently.
override
initState() → void
Called when this object is inserted into the tree.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onAfterBuildFrameWithScroll(PostFrameScrollData data) FutureOr<void>
Override this method to execute code after the first frame is rendered.
reassemble() → void
Called whenever the application is reassembled during debugging, for example during hot reload.
inherited
setState(VoidCallback fn) → void
Notify the framework that the internal state of this object has changed.
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
toStringShort() String
A brief description of this object, usually just the runtimeType and the hashCode.
inherited

Operators

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