Scrolling widgets

Scroll multiple widgets as children of the parent.

See more widgets in the widget catalog.

CustomScrollView

A ScrollView that creates custom scroll effects using slivers.

DraggableScrollableSheet

A container for a Scrollable that responds to drag gestures by resizing the scrollable until a limit is reached, and then scrolling.

GridView

A grid list consists of a repeated pattern of cells arrayed in a vertical and horizontal layout. The GridView widget implements this component.

ListView

A scrollable, linear list of widgets. ListView is the most commonly used scrolling widget. It displays its children one after another in the scroll direction. In the cross axis, the children are required to fill the ListView.

NestedScrollView

A scrolling view inside of which can be nested other scrolling views, with their scroll positions being intrinsically linked.

NotificationListener

A widget that listens for Notifications bubbling up the tree.

PageView

A scrollable list that works page by page.

RefreshIndicator

A Material Design pull-to-refresh wrapper for scrollables.

ReorderableListView

A list whose items the user can interactively reorder by dragging.

ScrollConfiguration

Controls how Scrollable widgets behave in a subtree.

Scrollable

Scrollable implements the interaction model for a scrollable widget, including gesture recognition, but does not have an opinion about how the viewport, which actually displays the children, is constructed.

Scrollbar

A Material Design scrollbar. A scrollbar indicates which portion of a Scrollable widget is actually visible.

SingleChildScrollView

A box in which a single widget can be scrolled. This widget is useful when you have a single box that will normally be entirely visible, for example a clock face in a time picker, but you need to make sure it can be scrolled if the container gets too small in one axis (the scroll direction).

See more widgets in the widget catalog.