Widget | Dedicated page | When to choose it |
|---|---|---|
Container | You need one child plus padding, sizing, background, or constraint control | |
Row | Children should stay in a horizontal sequence | |
Column | Children should stay in a vertical sequence | |
Spacer | You need fixed or flexible empty space | |
Scroll | Content may legitimately exceed the viewport | |
Align | A child needs alignment inside available bounds | |
Center | You only need centered placement |
Widget | Dedicated page | When to choose it |
|---|---|---|
HStack | You want a higher-level horizontal stack helper | |
VStack | You want a higher-level vertical stack helper | |
Wrap | Repeated items should flow onto new lines as width changes | |
SimpleGrid | You want a simpler grid authoring surface | |
SplitView | The screen is naturally a split-pane layout | |
SplitDirection | You need the supporting split orientation type |
Widget | Dedicated page | When to choose it |
|---|---|---|
Grid | Repeated content belongs in rows and columns | |
GridItem | A child needs span or placement rules inside a grid | |
ZStack | Children should share the same visual area in layers | |
Positioned | A layered child needs explicit placement | |
Overlay | Content and overlay content share the same region deliberately |
Widget | Dedicated page | When to choose it |
|---|---|---|
SafeArea | Content should avoid host insets such as mobile safe areas | |
AspectRatio | A child should preserve a specific width-to-height ratio | |
LayoutBuilder | The build output depends directly on current constraints | |
absolute_fill(...) | A child should fill the stacked bounds | |
Clip | A child must be clipped to a region | |
Transform | A child needs visual transformation | |
Composite | You need composition or repaint-boundary control | |
FocusScope | Focus traversal should stay within a layout region |