我有一张卡片,其中这张卡片的第一行将有 2 项文字。
我想在最开始放置一个项目,然后直接在中心放置下一个项目。
我玩过 MainAxisAlignment 但似乎没有什么能满足这种情况,例如,如果我使用 MainAxisAlignment.spaceBetween 那么每个项目都放在行的末尾。
有没有明显的方法来做到这一点?
谢谢
最佳答案
您可以使用 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(),
],
);
}
}
产生:
关于Flutter 行将一项放在开始处,将另一项放在中间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54327355/