上篇文章说了 showDialog 方法的使用
但是这个方法有很多东西是固定的
比如背景颜色,转换的时长和样式等等,很多东西你很难去自定义
本篇我使用另一个方法showGeneralDialog
来做一些自定义
准备工作
同上一章一样,定义一个通用方法
Widget buildButton(
String text,
Function onPressed, {
Color color = Colors.white,
}) {
return FlatButton(
color: color,
child: Text(text),
onPressed: onPressed,
);
}
简单使用
这里有几个参数,虽然方法签名上只有 2 个@required
注解的参数
但事实上,在我当前的版本环境下,如下代码中所有的参数都是必填项,不填会报错
我的运行环境是这样的
flutter --version
Flutter 1.3.14 • channel dev • https://github.com/flutter/flutter.git
Framework • revision 8e7e435706 (6 days ago) • 2019-03-21 15:31:46 -0700
Engine • revision d4d4883216
Tools • Dart 2.2.1 (build 2.2.1-dev.2.0 None)
代码在这里
showGeneralDialog(
context: context,
barrierLabel: "你好",
barrierDismissible: true,
transitionDuration: Duration(milliseconds: 300),
pageBuilder: (BuildContext context, Animation animation,
Animation secondaryAnimation) {
return Center(
child: Material(
child: Container(
color: Colors.black.withOpacity(animation.value),
child: Text("我是一个可变的"),
),
),
);
},
);
};
这里就是弹出的 dialog 了
这里有一个背景色的选项
showGeneralDialog(
context: context,
barrierLabel: "你好",
barrierDismissible: