Widgets 17 | SimpleDialog
In this tutorial, you will learn how to use the SimpleDialog in the flutter.
Last updated
Was this helpful?
In this tutorial, you will learn how to use the SimpleDialog in the flutter.
Last updated
Was this helpful?
We will create a page to contain our code.
import "package:flutter/material.dart";
import 'package:flutter_widgets/const/_const.dart';
class SimpleDialogPage extends StatefulWidget {
@override
_DialogState createState() => _DialogState();
}
class _DialogState extends State<SimpleDialogPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(PageName.SIMPLE_DIALOG),
),
body: SingleChildScrollView(
child: Column(
children: <Widget>[
SizedBox(height: 600),
],
),
),
);
}
}
It will show the picture as follows.
The dialog is very common in our app, it will show short messages to us to our choice. Let's see an example below.
SimpleDialog(
title: Text("What we do?"),
children: [
Text("This is our tutorial about the SimpleDialog."),
],
),
It will show you like this.
Let's look at its constructor.
SimpleDialog({
Key key,
this.title,
this.titlePadding = const EdgeInsets.fromLTRB(24.0, 24.0, 24.0, 0.0),
this.children,
this.contentPadding = const EdgeInsets.fromLTRB(0.0, 12.0, 0.0, 16.0),
this.backgroundColor,
this.elevation,
this.semanticLabel,
this.shape,
})
The constructor is very easy to know because we have known the types of its parameters. I will give an example to them.
The title is a widget, the children is a list of the widgets, this is easy to understand. The titlePadding
controls the padding of the title
, the contentPadding
controls the padding of the children
. Let's see an example.
Widget _padDialog() => SimpleDialog(
title: Text(
"Do you know why?",
textAlign: TextAlign.center,
),
titlePadding: EdgeInsets.symmetric(
horizontal: 30,
vertical: 20,
),
children: <Widget>[
Text(
"Sometime,we learn very well,because we want to it.",
textAlign: TextAlign.center,
)
],
contentPadding: EdgeInsets.symmetric(
horizontal: 40,
vertical: 20,
),
);
Let's see the effect of our code.
The backgroundColor
is a Color
, the elevation controls the shadow of the widget, those are common parameters that we have used them before. I just give an example.
Widget _colorDialog() => SimpleDialog(
title: Text(
"Message",
textAlign: TextAlign.center,
),
children: <Widget>[
Text(
"You must learn it carefully.",
textAlign: TextAlign.center,
),
],
backgroundColor: RED,
elevation: 4,
);
It will show like this. The color of the background will change to RED
.The shadow becomes less.
The is also the same as the shape
of Container
, you can check it in that article. I just give you an example.
Widget _shapeDialog() => SimpleDialog(
title: Text(
"Be careful!",
textAlign: TextAlign.center,
),
children: <Widget>[
Text(
"If you write a message, you should care about the message.",
textAlign: TextAlign.center,
),
],
backgroundColor: BLUE_LIGHT,
elevation: 4,
shape: StadiumBorder(
side: BorderSide(
style: BorderStyle.none,
),
),
);
It will show as below.
From this article, you can learn how to implement the dialog with the SimpleDialog
widget. It is easy to use, so I don't give the detail of many parameters. If you a newer, you should read the other articles before.
Thanks for your reading!
The end.
Facebook Page
GitHub
Medium