Flutter Row and Column

In the previous sections, we have learned to create a simple Flutter application and its basic styling to the widgets. Now, we are going to learn how to arrange the widgets in rows and columns on the screen. The rows and columns are not a single widget; they are two different widgets, namely Row and Column. Here, we will integrate these two widgets together because they have similar properties that help us understand them efficiently and quickly.

Row and column are the two essential widgets in Flutter that allows developers to align children horizontally and vertically according to our needs. These widgets are very necessary when we design the application user interface in Flutter.

Key Points

  1. Row and Column widgets are the most commonly used layout patterns in the Flutter application.
  2. Both may take several child widgets.
  3. A child widget can also be a row or column widget.
  4. We can stretch or constrain a particular children’s widget.
  5. Flutter also allows developers to specify how child widgets can use row and column widgets’ available space.

Row Widget

This widget arranges its children in a horizontal direction on the screen. In other words, it will expect child widgets in a horizontal array. If the child widgets need to fill the available horizontal space, we must wrap the children widgets in an Expanded widget.

A row widget does not appear scrollable because it displays the widgets within the visible view. So it is considered wrong if we have more children in a row which will not fit in the available space. If we want to make a scrollable list of row widgets, we need to use the ListView widget.

Let us understand it with the help of an example where we are going to align the content such that there is an even space around the children in a row:

Output:

When we run this app, we should get the UI as the below screenshot.

Column

This widget arranges its children in a vertical direction on the screen. In other words, it will expect a vertical array of children widgets. If the child widgets need to fill the available vertical space, we must wrap the children widgets in an Expanded widget.

Let us understand it with the help of an example where we are going to align the content such that there is a free space between the children evenly in a column:

Output:

When we run this app, we should get the UI as the below screenshot.

Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x