SingleChildScrollView class

A scrollable container for a single child widget.

Unlike Viewport which takes a pre-rendered String, this widget keeps its child in the element tree so that stateful widgets work correctly. The child is laid out with unconstrained height, and only the visible portion (determined by the scroll offset) is painted.

Provide a ScrollController to share scroll state with a Scrollbar.

Scrollbar(
  controller: ctrl,
  child: SingleChildScrollView(
    controller: ctrl,
    child: Column(children: [...]),
  ),
)
Inheritance

Constructors

SingleChildScrollView({required Widget child, EdgeInsets? padding, ScrollController? controller, bool handleKeys = true, int mouseWheelDelta = 3, bool enableSelection = false, Key? key})

Properties

child Widget
The widget to render inside the scrollable viewport.
final
children List<Widget>
Child widgets that receive forwarded messages.
no setterinherited
controller ScrollController?
Optional controller for programmatic scrolling.
final
debugRenderObjectPassthrough bool
Whether this widget is intentionally transparent to render-object layouts.
no setterinherited
enableSelection bool
Whether in-app text selection is enabled.
final
focusable bool
Whether this widget can receive keyboard focus.
no setterinherited
handleKeys bool
Whether to handle keyboard scrolling (arrow keys/PageUp/PageDown).
final
hashCode int
The hash code for this object.
no setterinherited
id String
Unique identifier for this widget.
no setterinherited
key Key?
Key for preserving widget identity.
finalinherited
mouseWheelDelta int
Number of rows to scroll per mouse wheel tick.
final
padding EdgeInsets?
Optional padding to apply around child.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
theme Theme
Access the current theme.
no setterinherited

Methods

buildCachedView<T>(T builder(), Object? cacheKey) → T
Returns a cached view if the cache key matches.
inherited
createState() State<StatefulWidget>
Creates the mutable State associated with this widget.
override
handleInit() Cmd?
Override this instead of init for widget-specific initialization.
inherited
handleIntercept(Msg msg) → (Widget, Cmd?)
Override this to handle messages before they reach children.
inherited
handleUpdate(Msg msg) → (Widget, Cmd?)
Override this to handle messages specific to this widget.
inherited
init() Cmd?
Called once when the widget is first mounted.
inherited
invalidateCachedView() → void
Clears any cached view for this widget.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited
update(Msg msg) → (Model, Cmd?)
Handles messages by forwarding to children then calling handleUpdate.
inherited
view() Object
Renders the widget to a string or View.
inherited

Operators

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