Layout widgets

Arrange other widgets columns, rows, grids, and many other layouts.

See more widgets in the widget catalog.

Single-child layout widgets

Align

A widget that aligns its child within itself and optionally sizes itself based on the child's size.

AspectRatio

A widget that attempts to size the child to a specific aspect ratio.

Abc
Baseline

A widget that positions its child according to the child's baseline.

Center

A widget that centers its child within itself.

ConstrainedBox

A widget that imposes additional constraints on its child.

Container

A convenience widget that combines common painting, positioning, and sizing widgets.

CustomSingleChildLayout

A widget that defers the layout of its single child to a delegate.

Expanded

A widget that expands a child of a Row, Column, or Flex.

FittedBox

Scales and positions its child within itself according to fit.

FractionallySizedBox

A widget that sizes its child to a fraction of the total available space. For more details about the layout algorithm, see RenderFractionallySizedOverflowBox.

IntrinsicHeight

A widget that sizes its child to the child's intrinsic height.

IntrinsicWidth

A widget that sizes its child to the child's intrinsic width.

LimitedBox

A box that limits its size only when it's unconstrained.

Offstage

A widget that lays the child out as if it was in the tree, but without painting anything, without making the child available for hit...

OverflowBox

A widget that imposes different constraints on its child than it gets from its parent, possibly allowing the child to overflow the parent.

Padding

A widget that insets its child by the given padding.

SizedBox

A box with a specified size. If given a child, this widget forces its child to have a specific width and/or height (assuming values are...

SizedOverflowBox

A widget that is a specific size but passes its original constraints through to its child, which will probably overflow.

Transform

A widget that applies a transformation before painting its child.

Multi-child layout widgets

Column

Layout a list of child widgets in the vertical direction.

CustomMultiChildLayout

A widget that uses a delegate to size and position multiple children.

Flow

A widget that implements the flow layout algorithm.

GridView

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

IndexedStack

A Stack that shows a single child from a list of children.

LayoutBuilder

Builds a widget tree that can depend on the parent widget's size.

ListBody

A widget that arranges its children sequentially along a given axis, forcing them to the dimension of the parent in the other axis.

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....

Row

Layout a list of child widgets in the horizontal direction.

Stack

This class is useful if you want to overlap several children in a simple way, for example having some text and an image, overlaid with...

Table

A widget that uses the table layout algorithm for its children.

Wrap

A widget that displays its children in multiple horizontal or vertical runs.

Sliver widgets

CupertinoSliverNavigationBar

An iOS-styled navigation bar with iOS-11-style large titles using slivers.

CustomScrollView

A ScrollView that creates custom scroll effects using slivers.

SliverAppBar

A material design app bar that integrates with a CustomScrollView.

SliverChildBuilderDelegate

A delegate that supplies children for slivers using a builder callback.

SliverChildListDelegate

A delegate that supplies children for slivers using an explicit list.

SliverFixedExtentList

A sliver that places multiple box children with the same main axis extent in a linear array.

SliverGrid

A sliver that places multiple box children in a two dimensional arrangement.

SliverList

A sliver that places multiple box children in a linear array along the main axis.

SliverPadding

A sliver that applies padding on each side of another sliver.

SliverPersistentHeader

A sliver whose size varies when the sliver is scrolled to the edge of the viewport opposite the sliver's GrowthDirection.

SliverToBoxAdapter

A sliver that contains a single box widget.

See more widgets in the widget catalog.