当前位置: 首页 > news >正文

flutter弹框

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弹框")),],);}
}

http://www.lryc.cn/news/328515.html

相关文章:

  • 2013年认证杯SPSSPRO杯数学建模B题(第一阶段)流行音乐发展简史全过程文档及程序
  • 代码随想录算法训练营第39天 | 62.不同路径, 63不同路径II
  • Redis 的慢日志
  • 第十四届蓝桥杯第十题:蜗牛分享
  • 不懂技术的老板,如何避免过度依赖核心技术人员
  • Vue系列-el挂载
  • python--os和os.path模块
  • 前端通用命名规范和Vue项目命名规范
  • NTP服务搭建
  • Linux离线安装mysql,node,forever
  • WPF中获取TreeView以及ListView获取其本身滚动条进行滚动
  • C语言: 指针讲解
  • C#使用Stopwatch类来实现计时功能
  • ubuntu18.04安装qt
  • ElasticSearch、java的四大内置函数式接口、Stream流、parallelStream背后的技术、Optional类
  • 深入MNN:开源深度学习框架的介绍、安装与编译指南
  • [LeetCode][400]第 N 位数字
  • clickhouse 查询group 分组最大值的一行数据。
  • Python装饰器与生成器:从原理到实践
  • python-函数引入模块面向对象编程创建类继承
  • Spring:面试八股
  • Flask Python:请求上下文和应用上下文
  • 哔哩哔哩直播姬有线投屏教程
  • 您现在可以在家训练 70b 语言模型
  • 算法题剪格子使我重视起了编程命名习惯
  • P19:注释
  • python习题小练习(挑战全对)
  • 大数据学习-2024/3/30-MySQL基本语法使用介绍实例
  • C#_事件_多线程(基础)
  • vue 通过插槽来分配内容