我创建了许多
Row
项目,其中包含 Column
内部,并希望在每行项目之间留出间距。我尝试用mainAxisAlignment
的Column
来设置。但每个 Row
项目之间没有任何变化。如何更改或我需要使用哪个小部件?
Column(
children: [
Row(
children: [
Flexible(
flex: 2,
fit: FlexFit.tight,
child: Container(child: kTextFieldLabelText('Name:')),
),
Flexible(
flex: 6,
fit: FlexFit.loose,
child: Container(
//width: 100,
child: TextFormField(
decoration:
kTextFormFieldsDecoration('Enter your name'),
maxLines: 1,
),
),
),
],
),
Row(
children: [
Flexible(
flex: 2,
fit: FlexFit.tight,
child: Container(child: kTextFieldLabelText('Name:')),
),
Flexible(
flex: 6,
fit: FlexFit.loose,
child: Container(
//width: 100,
child: TextFormField(
decoration:
kTextFormFieldsDecoration('Enter your name'),
maxLines: 1,
),
),
),
],
),
Row(
children: [
Flexible(
flex: 2,
fit: FlexFit.tight,
child: Container(child: kTextFieldLabelText('Name:')),
),
Flexible(
flex: 6,
fit: FlexFit.loose,
child: Container(
//width: 100,
child: TextFormField(
decoration:
kTextFormFieldsDecoration('Enter your name'),
maxLines: 1,
),
),
),
],
),
],
),
你也可以使用
Spacer(), or Spacer(flex: 1),
或使用尺寸框确定您喜欢的高度和宽度
SizedBox(height: // put here,),
同样大小的盒子里还有其他东西,比如
SizedBox.expand(),
无论哪种方式都可以玩它
如果
children
中的 Row
具有固定大小,那么您可以使用 MainAxisAlignment
代替 Row
以便相应地排列它们。
否则,如果您的
widgets
是 Flexible
,那么您可能需要在两个小部件之间添加一个 SizedBox
以及所需的 width
。