dart - Flutter Row 主轴对齐不起作用

标签 dart flutter flutter-layout

我试图将两个 Material 按钮排成一行,并且它们之间的间距均匀。但 mainAxisAlignment 小部件不起作用。两个按钮都在行的开头相互粘在一起。

Widget _buildSignInButton() {
    return Row(
      children: <Widget>[
        Container(
          child: new Row(
            mainAxisAlignment: MainAxisAlignment.spaceAround,
            children: <Widget>[
              new SignInButton(
                onPressed: () {
                  _googleSignIn();
                },
                imageUrl: 'assets/images/glogo.png',
              ),
              new SignInButton(
                onPressed: () {
                  _fbSignIn();
                },
                imageUrl: 'assets/images/fblogo.png',
              ),
            ],
          ),
        )
      ],
    );
  }

 Widget build(BuildContext context) {
    return Container(
        child: _buildSignInButton()


    );
  }

最佳答案

尝试简化代码,如下所示:

Row(
  // children: <Widget>[
  //   new Container(
  //     child: new Row(
        mainAxisAlignment: MainAxisAlignment.spaceAround,
        children: <Widget>[
          new Text('123'),
          new Text('456'),
        ],
  //     ),
  //   ),
  // ],
),

或将Container替换为Expanded:

Row(
  children: <Widget>[
    new Expanded(
      child: new Row(
        mainAxisAlignment: MainAxisAlignment.spaceAround,
        children: <Widget>[
          new Text('123'),
          new Text('456'),
        ],
      ),
    ),
  ],
),

查看文档以了解有关差异的更多详细信息:https://flutter.io/docs/development/ui/layout/box-constraints#flex

关于dart - Flutter Row 主轴对齐不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54400525/

相关文章:

dart - 在 Flutter 中查找和版本化过时的包(跨主要版本)

flutter - 制作 GridView ,元素之间没有间隙

flutter - 自定义 float 底部导航栏有白色背景 flutter

dart - Flutter 和 Dart - 如何在一行代码中格式化整数日期

reflection - 通过反射在 dart 中通过名称作为字符串获取类的公共(public)静态字段/属性的值

firebase - flutter |如何将数据添加到 Firestore 中的现有文档

flutter - 如何在 Flutter 中启用相机闪光灯?

javascript - 无法在 flutter webview 中打开 tel、mailto、whatsapp 链接?

flutter - 导航不会使用自定义小部件更新 TabBarView 主体

android - 如何在 flutter 中设置 Transform.translate() 动画的持续时间?