Container
One box that sizes, pads, colours, rounds, borders and shadows its child.
Padding
Empty space around a child, on every side or each side on its own.
Center & Aligned
Places one child somewhere inside the room it is given.
Row & Column
Children in a line, across or down, with alignment on both axes and spacing.
Flex
The flexbox line under Row and Column: shrink-wraps, stretches, wraps, reverses.
Expanded, Flexible & Spacer
Share the free room of a row or a column between some of its children.
SizedBox
A box of a given size: to size its child, or, empty, as a fixed gap.
ConstrainedBox, LimitedBox & Intrinsic
Floors and ceilings on a child's size, or the size its content would like.
UnconstrainedBox & OverflowBox
Let a child be a size its parent did not offer.
AspectRatio
A box whose height follows from its width.
FittedBox
Scales its child to fit its box, following a BoxFit rule.
FractionallySizedBox
A box sized as a fraction of the room its parent offers.
Wrap & ListBody
A row that flows onto new lines when it runs out of room.
Stack & Positioned
Children layered in the same box, pinned to its edges or aligned in it.
IndexedStack
Several children in one box, only one of them shown.
Baseline
Lines text up on the line its letters sit on.
RotatedBox
Turns its child by quarter turns, and the layout turns with it.
SafeArea
Keeps its child clear of status bars, notches, the gesture handle and the keyboard.
LayoutBuilder & OrientationBuilder
Builds from the room actually given, so a component adapts wherever it is placed.
CustomMultiChildLayout
Children measured and placed by a function you write.
OverflowBar
A row of buttons that becomes a column when they stop fitting.
TwoPane & responsive
A list and its detail side by side when wide, one at a time when narrow.
Placeholder
A crossed box standing in for a widget not written yet.