我有小型货币表。我没有使用网格。我使用列和行。问题是行中的项目没有显示在中心,如下面的excel示例所示。 我必须使用什么小部件才能使项目居中?有什么帮助吗?
The Example codes:
return new Center(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
new Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Padding(
padding: const EdgeInsets.fromLTRB(15.0, 5.0, 15.0, 5.0),
child: new Icon(
Icons.crop_rotate,
color: Colors.white,
),
),
new Padding(
padding: const EdgeInsets.fromLTRB(15.0, 5.0, 15.0, 5.0),
child: new Text("STG", style: mainHeadTextStyle),
),
new Padding(
padding: const EdgeInsets.fromLTRB(15.0, 5.0, 15.0, 5.0),
child: new Text("EUR", style: mainHeadTextStyle),
),
new Padding(
padding: const EdgeInsets.fromLTRB(15.0, 5.0, 15.0, 5.0),
child: new Text("USD", style: mainHeadTextStyle),
),
],
),
new Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
....
....
....
答案 0 :(得分:12)
如果您希望整个表格为Centered
,请使用 mainAxisAlignment
的 Column
属性。
<强>列强>
`mainAxisAlignment: MainAxisAlignment.center` => Center Column contents vertically,
`crossAxisAlignment: CrossAxisAlignment.center` => Center Column contents horizontally,
<强>行强>
`mainAxisAlignment: MainAxisAlignment.center` => Center Row contents horizontally,
`crossAxisAlignment: CrossAxisAlignment.center` => Center Row contents vertically,
答案 1 :(得分:6)
如果需要精细控制,可以使用Spacer
。
Column(
children: <Widget>[
Spacer(), // 1st spacer
Widget1(),
Widget2(),
Spacer(), // 2nd spacer
],
)
您也可以使用flex
更改Spacer(flex:2)
答案 2 :(得分:2)
如果您希望它与图片一样,请使用
mainAxisAlignment: MainAxisAlignment.spaceEvenly
答案 3 :(得分:1)
这样使用
在列中
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [...
.
]
在行
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [...
.
]