An Introduction to Flutter Layout & Scrolling Widgets
Align
A widget that aligns its child within itself and optionally based on the child’s size.
AspectRatio
A widget that tries to resize the child to a specific aspect ratio.
Baseline
A widget that places your child according to the child’s baseline.
Center
A widget that focuses its child within itself.
ConstrainedBox
A widget that imposes additional constraints on its child.
Container
A feature widget that combines common painting, positioning and sizing widgets.
CustomMultiChildLayout
A widget that uses a delegate to size and position multiple children.
CustomScrollView
Scroll Creates a custom scroll effect using a scroll view. A CustomScrollView supplies lists directly to you to create various scrolling effects, such as lists, grids, and extension headers.
CustomSingleChildLayout
A widget that prevents a single delegate from layouting its single child.
Divider
A thin horizontal line with padding on either side. In the material design language, it represents a divider. Dividers can be used in lists for separate content.
Expanded
A widget that expands a child of a row, column, or flex so that the child fills the available space.
FittedBox
Keeps your child within yourself according to the scales and fit.
Flow
A widget that efficiently shapes and positions children, according to the logic in Flowdelegate.
FractionallySizedBox
A widget that sizes its child to a fraction of the total available space.
GridView
A scroll, a 2D array of widgets. The most commonly used grid layouts are GridView.count, which creates a layout with a fixed number of tiles in the cross axis, and GridView.extent, which creates a layout with tiles that have the maximum cross-axis limit.
IndexedStack
A stack that shows a single child from a children’s list.
IntrinsicHeight
A widget that gives its child the size of the child’s internal height.
IntrinsicWidth
A widget that gives its child the size of the inner width of the child.
LayoutBuilder
Creates a widget tree that can depend on the size of the original widget.
LimitedBox
A box that limits its size only when it is unrestrained.
ListBody
A widget that arranges its children chronologically along a given axis forces them to have a parent dimension in the second axis.
ListView
A scrollable list of widgets is arranged linearly. ListView is the most commonly used scroll widget. It displays its children one by one in the scroll direction.
ListTile
A single fixed-height line that usually contains some text as well as a leading or trailing mark.
NestedScrollView
A scroll view that may contain other scrolling views has its scroll position intrinsically linked.
NotificationListener
A widget that listens to tree buzzing for notifications.
Offstage
A widget that lets the child out as if it were in the tree, but without painting anything, without making the child available for hit testing, and without taking it to any of the parents’ rooms.
OverflowBox
A widget that implements different constraints to its child than its parent probably allows the child to overtake the parent.
Padding
A widget that insets its child by the given padding.
PageView
A scrollable list that works page by page. Each child in the page view is forced to have the same size as the viewport.
RefreshIndicator
A widget that supports “swipe” content to refresh the idiom.
ScrollConfiguration
Controls how the scrollable widget behaves in the subtree.
Scrollable
A widget that scrolls. It is directly scrollable.
Scrollbar
A Material Design Scrollbar. The scrollbar indicates which part of the scrollable widget is actually visible.
SingleChildScrollView
A box in which a single widget can be scrolled.
SizedBox
A box with a specified size.
SizedOverflowBox
A widget that is a specific size, but passes its original constraints through its child, which can then overflow.
Stepper
A content stepper widget that displays progress through a sequence of steps. Steppers are particularly useful in the case of forms where one stage requires the completion of another, or where multiple steps need to be completed in order to submit the entire form.
Table
A widget that uses a table layout algorithm for its children.
Transform
A widget that implements a change before painting its child.