Flutter Widget 之 AlertDialog

对话框会通知用户需要确认的情况。 对话框有可选标题和可选的操作列表。 标题显示在内容上方,操作显示在内容下方。

如果内容太大而无法垂直放入屏幕,则对话框将显示标题和操作,并让内容溢出,这是很少需要的。 考虑使用滚动窗口小部件来显示内容,例如SingleChildScrollView,以避免溢出。 (但是,请注意,由于AlertDialog尝试使用其子项的内部维度来调整自身大小,因此使用惰性视口的小部件(如ListView,GridView和CustomScrollView)将无法工作。如果这是一个问题,请考虑直接使用Dialog。)

对于为用户提供多个选项之间选择的对话框,请考虑使用SimpleDialog。

通常作为子窗口小部件传递给showDialog,后者显示对话框。

构造函数

// 构造函数

AlertDialog({Key key, 
    // 标题
    Widget title, 
    // 标题四周填充
    EdgeInsetsGeometry titlePadding, 
    // 内容
    Widget content,
    // 内容四周填充
    EdgeInsetsGeometry contentPadding: const EdgeInsets.fromLTRB(24.0, 20.0, 24.0, 24.0), 
    // 动作按钮
    List<Widget> actions, 
    String semanticLabel, 
    // 边框形状
    ShapeBorder shape 
})

例子:

​// async 异步跳转时可以接收子页面返回数据
Future<void> _neverSatisfied() async {
  // showDialog 必须要加,否则不会出现对话框
  return showDialog<void>(
    // context 上下文,路由返回等时使用
    context: context,
    // 设为true则点击对话框外时也会关闭对话框
    barrierDismissible: false,
    builder: (BuildContext context) {
      // 对话框
      return AlertDialog(
        // 标题
        title: Text('Rewind and remember'),
        // 内容
        content: SingleChildScrollView(
          child: ListBody(
            children: <Widget>[
              Text('You will never be satisfied.'),
              Text('You\’re like me. I’m never satisfied.'),
            ],
          ),
        ),
        // 下方按钮
        actions: <Widget>[
          FlatButton(
            child: Text('Regret'),
            onPressed: () {
              Navigator.of(context).pop();
            },
          ),
        ],
      );
    },
  );
}

​

官网文档地址:

https://docs.flutter.io/flutter/material/AlertDialog-class.html

 

 

 

    原文作者:Tashan_chi
    原文地址: https://blog.csdn.net/Tashan_shi/article/details/86492348
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞