The only real difference between a Row widget and a Column widget is the axis in which they lay out their children. It's interesting that you can insert a Row widget into a Column widget and vice versa.
There are also two properties on Column and Row widgets that can modify how Flutter lays out your widgets:
- CrossAxisAlignment
- MainAxisAlignment
These are abstractions on the x and y axis. They are also referring to different axes depending on whether you are using a Row widget or a Column widget, as shown in the following diagram:
With these properties, you can adjust whether the Column widget or Row widget is centered, evenly spaced, or aligned to the start or end of the widget. It will take a bit of experimentation to get the perfect look, but you are equipped with hot reload, so you can experiment at your will to see how they impact the layout.
The Stack widget is different. It expects you...