Flutter 在极端情况下对齐两项 - 一项在左侧,一项在右侧

我正在尝试将两个极端对齐,一个在左侧,一个在右侧。 我有一行左对齐,然后该行的一个子行右对齐。但是,似乎子行正在从其父行获取对齐属性。这是我的代码

var SettingsRow = new Row(
            mainAxisAlignment: MainAxisAlignment.end,
            crossAxisAlignment: CrossAxisAlignment.center,
            mainAxisSize: MainAxisSize.max,
            children: <Widget>[
                Text("Right",softWrap: true,),
            ],
        );

        var nameRow = new Row(
            mainAxisAlignment: MainAxisAlignment.start,
            crossAxisAlignment: CrossAxisAlignment.center,
            mainAxisSize: MainAxisSize.max,
            children: <Widget>[
                Text("Left"),
                SettingsRow,
            ],
        );

结果我得到了这样的东西

Left Right

我想要的是

Left      Right

Row 上也有足够的空间。我的问题是为什么子行没有展示其 MainAxisAlignment.end 属性?

最佳答案

使用单个 Row 代替 mainAxisAlignment: MainAxisAlignment.spaceBetween

new Row(
  mainAxisAlignment: MainAxisAlignment.spaceBetween,
  children: [
    new Text("left"),
    new Text("right")
  ]
);

或者你可以使用扩展

new Row(
  children: [
    new Text("left"),
    new Expanded(
      child: settingsRow,
    ),
  ],
);

https://stackoverflow.com/questions/50365770/

相关文章:

flutter - 如何更改 appBar 后退按钮颜色

dart - 无法更改 TextField 边框颜色

flutter - 如何将清除按钮添加到 TextField 小部件

dart - 在 Flutter 中显示 SnackBar

android - 如何在 FlatButton 单击时关闭 AlertDialog?

android - 所有小部件的 flutter 填充?

flutter - 遍历列表以在 Flutter 中呈现多个小部件?

flutter - 使用不包含 Navigator 的上下文请求的 Navigator 操作

flutter - 如何覆盖 Flutter 中的 “Back” 按钮?

dart - 如何在 Flutter 中旋转 15 度?