Flutter 行将一项放在开始处,将另一项放在中间

drl*_*obo 8 flutter flutter-layout

我有一张卡片,其中这张卡片的第一行将有 2 项文字。

我想在最开始放置一个项目,然后直接在中心放置下一个项目。

我玩过 MainAxisAlignment 但似乎没有什么能满足这种情况,例如,如果我使用 MainAxisAlignment.spaceBetween,那么每个项目都放在行的末尾。

有没有明显的方法来做到这一点?

谢谢

Jor*_*ies 11

您可以使用Spacer小部件来填充行中的可用空间:

void main() => runApp(App());

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: Padding(
            padding: const EdgeInsets.all(8.0),
            child: SpacedRow(),
          ),
        ),
      ),
    );
  }
}

class SpacedRow extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Row(
      children: <Widget>[
        Container(width: 50, height: 50, color: Colors.red),
        Spacer(),
        Container(width: 50, height: 50, color: Colors.yellow),
        Spacer(),
      ],
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

产生:

截屏