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

最新文章

  1. shell正则表达式
  2. Dynatable – 基于 HTML5 &amp; jQuery 的交互表格插件
  3. artDialog 文档
  4. zw版【转发&#183;台湾nvp系列Delphi例程】HALCON HImage与Bitmap格式转换
  5. Xcode7 免证书真机测试
  6. yaf学习之——生成yaf示例框架
  7. php 连接mysql数据库以及增删改查
  8. django restframework 跨域访问
  9. springboot 学习之路 6(定时任务)
  10. Mysql Binlog三种格式详细介绍
  11. Linux 最小安装常用包
  12. 删除qq互联
  13. 25个可遇不可求的jQuery插件
  14. oracle的参数文件:pfile和spfile
  15. vim中文手册
  16. ASP.NET Core真实管道详解[1]
  17. testng多线程
  18. 四种对象生存期和作用域、static 用法总结
  19. 在Mac上安装office2016破解版
  20. 3969 [Mz]平方和【斐波那契平方和】

热门文章

  1. 渗透之路基础 -- 跨站伪造请求CSRF
  2. Java精通并发-synchronized关键字原理详解
  3. CCS设置第一个li的元素与其他li样式不同
  4. 《你们都是魔鬼吗》第八次团队作业 第二天Alpha
  5. machine learning (2)-linear regression with one variable
  6. 不安装Oracle客户端使用PLSQL Developer
  7. 面向对象的继承和多态(is-a)
  8. sql注入和防sql注入
  9. Storm 安装时 部分supervisor启动成功,并不在web ui上显示
  10. input file标签限制上传文件类型