Sunday, January 25, 2026
HomeFlutterHow to use row and column in flutter

How to use row and column in flutter

In Flutter, Row and Column widgets are fundamental for laying out multiple child widgets either horizontally or vertically.

1. Basic Usage:

  • Row: Arranges children horizontally.
  • Column: Arranges children vertically.

Both accept a children property, which is a List<Widget>.

Code

// Example of a Row
Row(
children: <Widget>[
Container(width: 50, height: 50, color: Colors.red),
Container(width: 50, height: 50, color: Colors.green),
Container(width: 50, height: 50, color: Colors.blue),
],
)

// Example of a Column
Column(
children: <Widget>[
Container(width: 50, height: 50, color: Colors.red),
Container(width: 50, height: 50, color: Colors.green),
Container(width: 50, height: 50, color: Colors.blue),
],
)

2. Alignment:

You can control how children are positioned along the main axis (horizontal for Row, vertical for Column) and cross axis (vertical for Row, horizontal for Column).

  • mainAxisAlignment: Controls alignment along the main axis. Common values include MainAxisAlignment.startMainAxisAlignment.endMainAxisAlignment.centerMainAxisAlignment.spaceBetweenMainAxisAlignment.spaceAroundMainAxisAlignment.spaceEvenly.
  • crossAxisAlignment: Controls alignment along the cross axis. Common values include CrossAxisAlignment.startCrossAxisAlignment.endCrossAxisAlignment.centerCrossAxisAlignment.stretch.

Code

Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
// ... widgets
],
)

3. Expanding Children:

The Expanded widget is used to make a child of a Row or Column take up available space along the main axis. This is crucial for responsive layouts and preventing overflow errors.

  • Wrap a child widget with Expanded.
  • The flex property (defaulting to 1) determines the proportion of available space the child should occupy relative to other expanded children.

Code

Row(
children: <Widget>[
Expanded(
flex: 2, // Takes twice as much space as the other Expanded child
child: Container(color: Colors.red),
),
Expanded(
flex: 1,
child: Container(color: Colors.green),
),
],
)

4. Nesting Rows and Columns:

Row and Column widgets can be nested within each other to create complex layouts.

Oops, something went wrong.

Also Read:-

Flutter key points mostly asked in flutter interviews
Dart basic programs mostly asked in interviews

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments