alertDialog:弹框
simpleDialog:选择弹框
showModalBottomSheet:底部弹出弹框
showtoast:三方插件弹框
Navigator.of(context).pop('点击取消') 关闭弹框,传递参数
import 'package:flutter/material.dart';
// import 'package:flutter/cupertino.dart';
import 'package:fluttertoast/fluttertoast.dart'; // 安装插件 flutter pub add fluttertoast
void main() {runApp(MaterialApp(title: 'contaniner',home: Scaffold(appBar: AppBar(title: const Center(child: Text('flutter bar')),),body: DialogDemo(),),),);
}class DialogDemo extends StatelessWidget {@overrideWidget build(BuildContext context) {//弹出框void _alertDialog() async {//获取返回参数var result = await showDialog(barrierDismissible: false,//点击灰色背景时弹框是否消失context: context,//CupertinoAlertDialog ios风格 , AlertDialog安卓风格builder: (context) => AlertDialog(title: const Text('提示信息'),content: const Text("确认删除吗?"),actions: [TextButton(onPressed: () => {Navigator.of(context).pop('点击取消')}, //dialog消失child: const Text('取消')),TextButton(onPressed: () => {}, child: const Text('确认'))],),);print(result);//打印返回值}//弹出选择框void _simpleDialog() async {//获取返回参数var result = await showDialog(barrierDismissible: false,//点击灰色背景时弹框是否消失context: context,builder: (context) => SimpleDialog(title: const Text('提示信息'),children: [SimpleDialogOption(child:const Text("金"),onPressed: ()=>Navigator.pop(context,'选择金')),Divider(),SimpleDialogOption(child:const Text("木"),onPressed: ()=>Navigator.pop(context,'选择木')),Divider(),SimpleDialogOption(child:const Text("水"),onPressed: ()=>Navigator.pop(context,'选择水')),Divider(),SimpleDialogOption(child:const Text("火"),onPressed: ()=>Navigator.pop(context,'选择火')),Divider(),SimpleDialogOption(child:const Text("土"),onPressed: ()=>Navigator.pop(context,'选择土')),],),);print(result); //打印返回值}//底部弹出框void _showModalBottomSheet() async {//获取返回参数var result = await showModalBottomSheet(backgroundColor: Colors.green,context: context,builder: (context) =>Container(height: 260,child: ListView(children: List.generate( 20,(index) => ListTile(title: Text('测试$index'),onTap: ()=>Navigator.pop(context,'选择金$index')))),));print(result); //打印返回值}//三方插件toastvoid _showtoast() {Fluttertoast.showToast(msg: "测试数据",toastLength: Toast.LENGTH_SHORT,//安卓显示时间gravity: ToastGravity.TOP,//显示位置timeInSecForIosWeb: 1, //ios提示时间backgroundColor: Colors.red, //背景颜色textColor: Colors.yellow, //字体颜色fontSize: 33.0 ,//字体大小);}return Column(children: [ElevatedButton(onPressed: () => _alertDialog(), child: const Text("弹框")),ElevatedButton(onPressed: () => _simpleDialog(), child: const Text("选择弹框")),ElevatedButton(onPressed: () => _showModalBottomSheet(), child: const Text("底部弹出框")),ElevatedButton(onPressed: () => _showtoast(), child: const Text("Toast弹框")),],);}
}