》理论不多哔哔,直接上代码:
import 'dart:convert';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
/**
* 基础对话框实现
*/
void main() {
runApp(MyAppDemo()); //main函数运行方法入口
}
class MyAppDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("Flutter Dialog"),
),
body: HomContent(),
),
);
}
}
/**
* 对话框
*/
class HomContent extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
child: ListView(
scrollDirection:
Axis.vertical, //Axis.horizontal 水平列表 Axis.vertical 垂直列表
// 创建列表元素
children: <Widget>[
//嵌套容器
Container(
width: 180.0,
color: Colors.amber,
child: RaisedButton(
child: Text('切换'),
onPressed: () { //点击触发事件
showDialog(
context: context, // context: Dialog描述内容
builder: (context) {
return AlertDialog(
title: Text('提示'),
content: Text('确认删除吗?'),
actions: <Widget>[ //actions可选操作(按钮)
FlatButton(child: Text('取消'),onPressed: (){},),
FlatButton(child: Text('确认'),onPressed: (){},),
],
);
});
},
)
),
//第二个嵌套容器
Container(
width: 180.0,
color: Colors.deepOrange,
child: RaisedButton(
child: Text('IOS风格对话框'),
onPressed: () {
showCupertinoDialog(
context: context,
builder: (context) {
return CupertinoAlertDialog(
title: Text('提示'),
content: Text('确认删除吗?'),
actions: <Widget>[
CupertinoDialogAction(
child: Text('取消'),
onPressed: () {Navigator.of(context).pop('cancel');},
),
CupertinoDialogAction(
child: Text('确认'),
onPressed: () {Navigator.of(context).pop('ok');},
),
],
);
});
},
)
),
/**
* 第三个嵌套容器
*/
Container(
width: 180,
color: Colors.blue,
child: RaisedButton(
child: Text("AlertDialog弹出窗口"),
onPressed: () {
showDialog(
context: context,
builder: (build) {
return AlertDialog(
title: Text('提示'),
content: Text('确认删除吗?'),
backgroundColor: Colors.lightBlueAccent,
elevation: 24,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(50)),
actions: <Widget>[
FlatButton(child: Text('取消'), onPressed: () {},),
FlatButton(child: Text('确认'), onPressed: () {},),
],
);
});
})
)
],
),
);
}
}