Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振:如何使对话框的按钮居中?_Flutter_Dart - Fatal编程技术网

Flutter 颤振:如何使对话框的按钮居中?

Flutter 颤振:如何使对话框的按钮居中?,flutter,dart,Flutter,Dart,我的对话框中有一个问题,按钮无法居中,即使我已经有了 mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center 在里面。 我的代码: 我的用户界面: 您可以使用“扩展”来获取可用空间 actions: <Widget>[ Row( mainAxisAlignment: MainAxisAlignment.center, crossAx

我的对话框中有一个问题,按钮无法居中,即使我已经有了

mainAxisAlignment: MainAxisAlignment.center, 
crossAxisAlignment: CrossAxisAlignment.center 
在里面。 我的代码:

我的用户界面:

您可以使用“扩展”来获取可用空间

 actions: <Widget>[
  Row(
    mainAxisAlignment: MainAxisAlignment.center,
    crossAxisAlignment: CrossAxisAlignment.center,
    children: <Widget>[
      Expanded(
        width: MediaQuery.of(context).size.width * 0.20,
        child: RaisedButton(
          child: new Text(
            'Save',
            style: TextStyle(color: Colors.white),
          ),
          color: Color(0xFF121A21),
          shape: new RoundedRectangleBorder(
            borderRadius: new BorderRadius.circular(30.0),
          ),
          onPressed: () {
            saveIssue();
            Navigator.of(context).pop();
          },
        ),
      ),
      SizedBox(
        width: MediaQuery.of(context).size.width * 0.01,
      ),
      Expanded(
        width: MediaQuery.of(context).size.width * 0.20,
        child: RaisedButton(
          child: new Text(
            'Cancel',
            style: TextStyle(color: Colors.white),
          ),
          color: Color(0xFF121A21),
          shape: new RoundedRectangleBorder(
            borderRadius: new BorderRadius.circular(30.0),
          ),
          onPressed: () {
            Navigator.of(context).pop();
          },
        ),
      ),
      SizedBox(
        height: MediaQuery.of(context).size.height * 0.02,
      ),
    ],
  )
], 
您可以使用“扩展”来获取可用空间

 actions: <Widget>[
  Row(
    mainAxisAlignment: MainAxisAlignment.center,
    crossAxisAlignment: CrossAxisAlignment.center,
    children: <Widget>[
      Expanded(
        width: MediaQuery.of(context).size.width * 0.20,
        child: RaisedButton(
          child: new Text(
            'Save',
            style: TextStyle(color: Colors.white),
          ),
          color: Color(0xFF121A21),
          shape: new RoundedRectangleBorder(
            borderRadius: new BorderRadius.circular(30.0),
          ),
          onPressed: () {
            saveIssue();
            Navigator.of(context).pop();
          },
        ),
      ),
      SizedBox(
        width: MediaQuery.of(context).size.width * 0.01,
      ),
      Expanded(
        width: MediaQuery.of(context).size.width * 0.20,
        child: RaisedButton(
          child: new Text(
            'Cancel',
            style: TextStyle(color: Colors.white),
          ),
          color: Color(0xFF121A21),
          shape: new RoundedRectangleBorder(
            borderRadius: new BorderRadius.circular(30.0),
          ),
          onPressed: () {
            Navigator.of(context).pop();
          },
        ),
      ),
      SizedBox(
        height: MediaQuery.of(context).size.height * 0.02,
      ),
    ],
  )
], 
根据,使用ButtonBar强制对齐,因此如果要更改对齐方式,应使用ButtonBarTheme包装AlertDialog

类TestDialog扩展了无状态小部件{ const TestDialog{Key}:superkey:Key; @凌驾 小部件构建上下文上下文{ 返回按钮底部 数据:按钮BarthemeDataAlignment:MainAxisAlignment.center, 子:警报对话框 内容:文本内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容, 行动:[ 一行 mainAxisSize:mainAxisSize.max, //mainAxisAlignment:mainAxisAlignment.center, //crossAxisAlignment:crossAxisAlignment.center, 儿童:[ 容器 宽度:MediaQuery.ofcontext.size.width*0.20, 孩子:升起按钮 儿童:新文本 “保存”, 样式:text样式颜色:Colors.white, , 颜色:Color0xFF121A21, 形状:新的RoundedRectangleBorder borderRadius:新的borderRadius.circular30.0, , 按下按钮:{ Navigator.ofcontext.pop; }, , , 大小盒子 宽度:MediaQuery.ofcontext.size.width*0.01, , 容器 宽度:MediaQuery.ofcontext.size.width*0.20, 孩子:升起按钮 儿童:新文本 “取消”, 样式:text样式颜色:Colors.white, , 颜色:Color0xFF121A21, 形状:新的RoundedRectangleBorder borderRadius:新的borderRadius.circular30.0, , 按下按钮:{ Navigator.ofcontext.pop; }, , , 大小盒子 高度:MediaQuery.ofcontext.size.height*0.02, , ], ], ; } } 结果:

根据,使用ButtonBar强制对齐,因此如果要更改对齐方式,应使用ButtonBarTheme包装AlertDialog

类TestDialog扩展了无状态小部件{ const TestDialog{Key}:superkey:Key; @凌驾 小部件构建上下文上下文{ 返回按钮底部 数据:按钮BarthemeDataAlignment:MainAxisAlignment.center, 子:警报对话框 内容:文本内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容, 行动:[ 一行 mainAxisSize:mainAxisSize.max, //mainAxisAlignment:mainAxisAlignment.center, //crossAxisAlignment:crossAxisAlignment.center, 儿童:[ 容器 宽度:MediaQuery.ofcontext.size.width*0.20, 孩子:升起按钮 儿童:新文本 “保存”, 样式:text样式颜色:Colors.white, , 颜色:Color0xFF121A21, 形状:新的RoundedRectangleBorder borderRadius:新的borderRadius.circular30.0, , 按下按钮:{ Navigator.ofcontext.pop; }, , , 大小盒子 宽度:MediaQuery.ofcontext.size.width*0.01, , 容器 宽度:MediaQuery.ofcontext.size.width*0.20, 孩子:升起按钮 儿童:新文本 “取消”, 样式:text样式颜色:Colors.white, , 颜色:A2FF1210x1, 形状:新的RoundedRectangleBorder borderRadius:新的borderRadius.circular30.0, , 按下按钮:{ Navigator.ofcontext.pop; }, , , 大小盒子 高度:MediaQuery.ofcontext.size.height*0.02, , ], ], ; } } 结果:

“根据材质设计规范”对话框中的动作将位于右下角,您希望自定义,然后将动作替换为动作仅作为最后一个子项放入内容中。根据材质设计规范对话框中的动作将位于右下角,您希望自定义,然后替换为动作
ions只在最后一个孩子不工作时才把你的动作放在内容里先生:我在对话框里有按钮。我猜expanded在对话框中不起作用,因为当我将其更改为expanded,然后单击按钮显示对话框时,我的对话框没有弹出:expanded不起作用先生:对话框中有按钮。我猜expanded在对话框中不起作用,因为当我将其更改为expanded,然后单击按钮显示对话框时,我的对话框没有弹出:这是我能找到的唯一正确答案。我在上面看到的所有其他答案都告诉你,构建自己的按钮。非常感谢。关于这一点,我能找到的唯一正确答案是。我在上面看到的所有其他答案都告诉你,构建自己的按钮。非常感谢你。