微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter-dialog

Flutter dialog 的三种弹出方式

1 AlertDialog

 

 

  void showAlertDialog() {
    showDialog<Null>(
        context: context,
        barrierdismissible: false,
        builder: (BuildContext context) {
          return AlertDialog(
            title: Text('标题'),
            //可滑动
            content: SingleChildScrollView(
              child: ListBody(
                children: <Widget>[
                  Text('内容 1'),
                  Text('内容 2'),
                  Text('内容 1'),
                  Text('内容 2'),
                ],
              ),
            ),
            actions: <Widget>[
              FlatButton(
                child: Text('确定'),
                onpressed: () {
                  Navigator.of(context).pop();
                },
              ),
              FlatButton(
                child: Text('取消'),
                onpressed: () {
                  Navigator.of(context).pop();
                },
              ),
            ],
          );
        });
  }

2 simpledialog

 

 

  void showsimpledialog() {
    showDialog<Null>(
      context: context,
      builder: (BuildContext context) {
        return simpledialog(
          title: Text('选择'),
          children: <Widget>[
            simpledialogOption(
              child: Text('选项 1'),
              onpressed: () {
                Navigator.of(context).pop();
              },
            ),
            simpledialogOption(
              child: Text('选项 2'),
              onpressed: () {
                Navigator.of(context).pop();
              },
            ),
          ],
        );
      },
    );
  }

3 CupertionDialogAction ios 风格

 

 

  void showCupertinoAlertDialog() {
    showDialog(
        context: context,
        builder: (BuildContext context) {
          return CupertinoAlertDialog(
            title: Text("这是一个iOS风格的对话框"),
            content: Column(
              children: <Widget>[
                SizedBox(
                  height: 10,
                ),
                Align(
                  child: Text("这是消息"),
                  alignment: Alignment(0, 0),
                ),
              ],
            ),
            actions: <Widget>[
              CupertinoDialogAction(
                child: Text("取消"),
                onpressed: () {
                  Navigator.pop(context);
                  print("取消");
                },
              ),
              CupertinoDialogAction(
                child: Text("确定"),
                onpressed: () {
                  print("确定");
                },
              ),
            ],
          );
        });
  }

 

原文地址:https://www.cnblogs.com/ssjf/p/11881569.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐