Flutter开发之——showGeneralDialog

一 概述

  • showGeneralDialog:用于自定义提示框
  • 当执行点击事件时,执行showGeneralDialog,pageBuilder返回用户自定义试图

二 showGeneralDialog

2.1 源代码

Future<T?> showGeneralDialog<T extends Object?>({
  required BuildContext context,
  required RoutePageBuilder pageBuilder,
  bool barrierDismissible = false,
  String? barrierLabel,
  Color barrierColor = const Color(0x80000000),
  Duration transitionDuration = const Duration(milliseconds: 200),
  RouteTransitionsBuilder? transitionBuilder,
  bool useRootNavigator = true,
  RouteSettings? routeSettings,
})

2.2 常用属性说明

属性说明取值
pageBuilder自定义参数页面RoutePageBuilder
barrierDismissible是否可以点击背景关闭bool
barrierColor背景颜色Color
transitionDuration动画时长Duration
transitionBuilder构建进出动画RouteTransitionsBuilder

三 示例

代码

RaisedButton(
              child: Text("showGeneralDialog"),
              onPressed: () {
                  showGeneralDialog(
                      context: context,
                      barrierColor: Colors.black.withOpacity(.5),
                      barrierDismissible: true,
                      barrierLabel: '',
                      transitionDuration: Duration(milliseconds: 200),
                      transitionBuilder: (BuildContext context,
                          Animation<double> animation,
                          Animation<double> secondaryAnimation,
                          Widget child) {
                        return ScaleTransition(scale: animation, child: child);
                      },
                      pageBuilder: (BuildContext context,
                          Animation<double> animation,
                          Animation<double> secondaryAnimation) {
                        return Center(
                          child: Container(
                            height: 300,
                            width: 250,
                            color: Colors.lightGreenAccent,
                          ),
                        );
                      });
                })

效果图


版权声明:本文为Calvin_zhou原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。