0% found this document useful (0 votes)
19 views18 pages

Flutter Layouts 1

This document discusses Flutter layouts and widgets. It explains that everything in Flutter is a widget, including layouts. There are single-child widgets like Container and Padding that control a single child widget. There are also multiple-child widgets like Row, Column, and Stack that arrange multiple widgets. The document provides examples of how to use various layout widgets like Container, Padding, Align and AspectRatio to control the positioning and sizing of child widgets.

Uploaded by

kylan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
19 views18 pages

Flutter Layouts 1

This document discusses Flutter layouts and widgets. It explains that everything in Flutter is a widget, including layouts. There are single-child widgets like Container and Padding that control a single child widget. There are also multiple-child widgets like Row, Column, and Stack that arrange multiple widgets. The document provides examples of how to use various layout widgets like Container, Padding, Align and AspectRatio to control the positioning and sizing of child widgets.

Uploaded by

kylan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 18

Flutter Layouts

D. Gichuki,
Layouts

• The main concept of the layout mechanism is the


widget. We know that flutter assume everything as a
widget.
• So the image, icon, text, and even the layout of your
app are all widgets.
• Here, some of the things you do not see on your app
UI, such as rows, columns, and grids that arrange,
constrain, and align the visible widgets are also the
widgets.
• Flutter allows us to create a layout by composing
multiple widgets to build more complex widgets.
Layouts
Container

• In the above image, the container is a widget class


that allows us to customize the child widget.
• It is mainly used to add borders, padding, margins,
background color, and many more. Here, the text
widget comes under the container for adding
margins.
• The entire row is also placed in a container for
adding margin and padding around the row. Also,
the rest of the UI is controlled by properties such
as color, text.style, etc.
Layout a widget

• Let us learn how we can create and display a


simple widget. The following steps show how to
layout a widget:
• Step 1: First, you need to select a Layout widget.
• Step 2: Next, create a visible widget.
• Step 3: Then, add the visible widget to the layout
widget.
• Step 4: Finally, add the layout widget to the page
where you want to display.
Widget Types

• We can categories the layout widget into two


types:
– Single Child Widget
– Multiple Child Widget
Single Child Widget

• The single child layout widget is a type of widget, which


can have only one child widget inside the parent layout
widget.
• These widgets can also contain special layout
functionality. Flutter provides us many single child
widgets to make the app UI attractive.
• If we use these widgets appropriately, it can save our time
and makes the app code more readable. The list of
different types of single child widgets are:
• Container: It is the most popular layout widget that
provides customizable options for painting, positioning,
and sizing of widgets.
Container

• Container: It is the most popular layout widget that


provides customizable options for painting, positioning,
and sizing of widgets.
Center(
child: Container(
margin: const EdgeInsets.all(15.0),
color: Colors.blue,
width: 42.0,
height: 42.0,
),
)
Padding

• Padding: It is a widget that is used to arrange its


child widget by the given padding. It contains
EdgeInsets and EdgeInsets.fromLTRB for the
desired side where you want to provide padding.
const Greetings(
child: Padding(
padding: EdgeInsets.all(14.0),
child: Text('Hello JavaTpoint!'),
),
)
Align
• Align: It is a widget, which aligns its child widget within itself and sizes it based on the
child's size. It provides more control to place the child widget in the exact position where
you need it.
Center(
child: Container(
height: 110.0,
width: 110.0,
color: Colors.blue,
child: Align(
alignment: Alignment.topLeft,
child: FlutterLogo(
size: 50,
),
),
),
)
Align

• SizedBox: This widget allows you to give the specified


size to the child widget through all screens.
SizedBox(
width: 300.0,
height: 450.0,
child: const Card(child: Text('Hello MITU!')),
)
Aspect Ratio

• AspectRatio: This widget allows you to keep the


size of the child widget to a specified aspect
ratio.
AspectRatio(
aspectRatio: 5/3,
child: Container(
color: Colors.bluel,
),
),
ConstrainedBox

• ConstrainedBox: It is a widget that allows you to force the additional


constraints on its child widget. It means you can force the child widget to have
a specific constraint without changing the properties of the child widget.
ConstrainedBox(
constraints: new BoxConstraints(
minHeight: 150.0,
minWidth: 150.0,
maxHeight: 300.0,
maxWidth: 300.0,
),
child: new DecoratedBox(
decoration: new BoxDecoration(color: Colors.red),
),
),
FittedBox

• FittedBox: It scales and positions the child


widget according to the specified fit.

• Example
Layouts

• FractionallySizedBox: It is a widget that allows to sizes of its


child widget according to the fraction of the available space.
• IntrinsicHeight and IntrinsicWidth: They are a widget that
allows us to sizes its child widget to the child's intrinsic height
and width.
• LimitedBox: This widget allows us to limits its size only when it
is unconstrained.
• Offstage: It is used to measure the dimensions of a widget
without bringing it on to the screen.
• OverflowBox: It is a widget, which allows for imposing different
constraints on its child widget than it gets from a parent. In
other words, it allows the child to overflow the parent widget.
Layouts

• ListView: It is the most popular scrolling widget


that allows us to arrange its child widgets one after
another in scroll direction.
• GridView: It allows us to arrange its child widgets as
a scrollable, 2D array of widgets. It consists of a
repeated pattern of cells arrayed in a horizontal
and vertical layout.
• Expanded: It allows to make the children of a Row
and Column widget to occupy the maximum
possible area.
Layouts

• Table: It is a widget that allows us to arrange its


children in a table based widget.
• Flow: It allows us to implements the flow-based
widget.
• Stack: It is an essential widget, which is mainly used
for overlapping several children widgets. It allows
you to put up the multiple layers onto the screen.
The following example helps to understand it.
Example

• Stack and multi child

You might also like