我创建了许多包含在Column
内部的Row
项,并希望在每行项之间留出间距。我试着用Column
的mainAxisAlignment
设置。但每个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(),
无论哪种方式都可以玩
如果Row
的children
是固定大小的,则可以将MainAxisAlignment
用于Row
,以便对它们进行相应的排列。
否则,如果您的widgets
是Flexible
,那么您可能需要在两个小部件之间添加一个具有所需width
的SizedBox
。