我是flutter新手,在练习行列控件时遇到了这个问题。据说在flutter列中将mainAxisAlignment设置为center会使子对象垂直居中,但为什么当我添加一行作为子对象时,列也水平居中,而行子对象没有呢?
有人知道为什么吗?
这是密码
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("Exercise row & column"),
),
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text("Text 1"),
Text("Text 2"),
Text("Text 3"),
Row(children: <Widget>[
Text("Text 4"),
Text("Text 5"),
Text("Text 6"),
])
],
),
));
}
2条答案
按热度按时间ql3eal8s1#
你的代码似乎是好的。我测试了它,它工作得很好,有时flutter只是保持缓存,不做明显可见的更改。尝试
flutter clean
然后重新运行该项目。它会解决你的问题:)xuo3flqw2#
这是因为Row小部件占据了整个宽度,并且其子小部件水平对齐。
为了居中对齐行控件的子控件,添加了 mainAxisAlignment:MainAxisAlignment.center 属性添加到行小工具。