Flutter 中SimpleDialog简单弹窗使用
2024-08-23 04:26:47
import 'package:flutter/material.dart';
import 'dart:async'; enum Option {
A, B, C
} class SimpleDialogDemo extends StatefulWidget {
@override
_SimpleDialogDemoState createState() => _SimpleDialogDemoState();
} class _SimpleDialogDemoState extends State<SimpleDialogDemo> {
String _choice = 'Nothing'; Future _openSimpleDialog() async {
final option = await showDialog(
context: context,
builder: (BuildContext context) {
return SimpleDialog(
title: Text('SimpleDialog'),
children: <Widget>[
SimpleDialogOption(
child: Text('Option A'),
onPressed: () {
Navigator.pop(context, Option.A);
},
),
SimpleDialogOption(
child: Text('Option B'),
onPressed: () {
Navigator.pop(context, Option.B);
},
),
SimpleDialogOption(
child: Text('Option C'),
onPressed: () {
Navigator.pop(context, Option.C);
},
), ],
elevation: 100.0, );
}
); switch (option) {
case Option.A:
setState(() {
_choice = 'A';
});
break;
case Option.B:
setState(() {
_choice = 'B';
});
break;
case Option.C:
setState(() {
_choice = 'C';
});
break;
default:
}
} @override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('SimpleDialogDemo'),
elevation: 0.0,
),
body: Container(
padding: EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text('Your choice is: $_choice'),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
],
),
],
),
),
floatingActionButton: FloatingActionButton(
child: Icon(Icons.format_list_numbered),
onPressed: _openSimpleDialog,
),
);
}
}
效果图:
API文档:https://api.flutter.dev/flutter/material/SimpleDialog-class.html
最新文章
- shell正则表达式
- Dynatable – 基于 HTML5 &; jQuery 的交互表格插件
- artDialog 文档
- zw版【转发&#183;台湾nvp系列Delphi例程】HALCON HImage与Bitmap格式转换
- Xcode7 免证书真机测试
- yaf学习之——生成yaf示例框架
- php 连接mysql数据库以及增删改查
- django restframework 跨域访问
- springboot 学习之路 6(定时任务)
- Mysql Binlog三种格式详细介绍
- Linux 最小安装常用包
- 删除qq互联
- 25个可遇不可求的jQuery插件
- oracle的参数文件:pfile和spfile
- vim中文手册
- ASP.NET Core真实管道详解[1]
- testng多线程
- 四种对象生存期和作用域、static 用法总结
- 在Mac上安装office2016破解版
- 3969 [Mz]平方和【斐波那契平方和】