SimpleDialogBox
import 'package:flutter/material.dart';
import 'dart:ui';
import 'dart:async';
enum Option{A,B,C}
void main() => runApp(MyApp()); class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: HomePage(),
);
}
} class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
} class _HomePageState extends State<HomePage> {
Future dialogBox()async{
final option=await showDialog(
context: context,
builder: (BuildContext context){
return SimpleDialog(
title: Text('this is a dialog'),
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);
},
),
],
);
}
);
switch(option){
case Option.C:
debugPrint('your choice is C');
break;
case Option.A:
debugPrint('your choice is A');
break;
case Option.B:
debugPrint('your choice is B');
break;
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
width: window.physicalSize.width,
height: window.physicalSize.height,
child: Image.network(
'http://www.ecobentech.com/img/a.jpg',
fit: BoxFit.cover,
),
),
floatingActionButton: FloatingActionButton(
onPressed:(){dialogBox();},
child: Icon(Icons.text_fields),
),
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
);
}
}
SimpleDialogBox的更多相关文章
- jquery不同版本导致的checkbox设置了属性,但是没有选中效果
		由于本人好久不做B/S了,今天同学问我个问题才发现了jquery版本还是存在差异的,今天写的就是关于获取checkbox属性的方式(可能不应该叫属性了其实,后面就知道了). 看下面的代码截图吧 < ... 
随机推荐
- htnl 定位
			相对定位 相对定位:position:relative; 相对定位:相对定位是相对于元素在文档中的初始位置——首先它出现在它所在的位置上(即不设置position时的位置,然后通过设置垂直或水平位置, ... 
- WPF:完美自定义MeaagseBox 动画 反弹 背景模糊 扁平化
			不知道为什么,WPF的MeaageBox的风格还停留在Win 2000的风格... 很久前就想自己封装一个MessageBox出来,但是都只是简单的封装,不怎么具有通用性.这次终于搞完了. 使用方法和 ... 
- git 代码服务器的网页版gitweb的搭建
			sudo apt-get install apache2 git-core gitwebsudo a2enmod rewrite #vi /etc/gitweb.conf $projectroot = ... 
- ELK的sentinl告警配置详解
			背景 sentinl的监控&告警是通过watch实现的. 一.Watch Execution 执行开始的时候, watcher为watch创建watch执行上下文. 执行上下文提供脚本和模板, ... 
- SQL 中用户定义函数的使用方法
			--用户定义函数的分类: /* 1.标量函数 2.表值函数 2.1内联表值函数 返回单个SELECT语句, 它没有相关的返回变量和函数体 2.2多语句表值函数 是视图和存储过程的结合 可嵌套 */ ... 
- java笔记--对信号量Semaphore的理解与运用
			java Semaphore 信号量的使用: 在java中,提供了信号量Semaphore的支持. Semaphore类是一个计数信号量,必须由获取它的线程释放, 通常用于限制可以访问某些资源(物理或 ... 
- Uvision4创建工程
			创建工程 创建好工程会出现如下的界面 创建文件( .asm 或 .c ) 选择菜单栏中的File->New- 按 Ctrl+S 保存文件并填写文件名 添加到之前创建的工程中 选择Target1- ... 
- 如何解决远程连接mysql出现Can’t connect to MySQL server on (111 “Connection refused”)的问题
			如何解决远程连接mysql出现Can’t connect to MySQL server on (111 “Connection refused”)的问题 开放Mysql的远程连接 在服务器上登录my ... 
- Android 5.0 版本 USB 调试模式打开方法
			Android 4.2 版本 USB 调试模式打开方法 1. 进入“设置”页面,点击“关于平板电脑”.见下图红色方框. 2. 疯狂点击“版本号”,见下图红色方框,直到出现“您现在处于开发者模式!” ... 
- c/c++赋值函数(重载=号运算符)
			c/c++赋值函数(重载=号运算符) 首先c++里的各种运算符都是用函数实现的,比如=,就等号函数. 所以当用=给一个对象赋值的时候,实际调用的是=号所对应的=号函数. 分析下面的代码 #includ ... 
