Compose simple widgets to build complex widgets.

The core of Flutter’s layout mechanism is widgets. In Flutter, almost
everything is a widget—even layout models are widgets.
The images, icons, and text that you see in a Flutter app  are all widgets.
But things you don’t see are also widgets, such as the rows, columns,
and grids that arrange, constrain, and align the visible widgets.

You create a layout by composing widgets to build more complex widgets.
For example, the first screenshot below shows 3 icons with a label
under each one:

The second screenshot displays the visual layout, showing a row of
3 columns where each column contains an icon and a label.

Note:
  Most of the screenshots in this tutorial are displayed with
  debugPaintSizeEnabled set to true so you can see the visual layout.
  For more information, see
  Debugging layout issues visually, a section in
  Using the Flutter inspector.