在flutter中,如何设置列内行项之间的间距?

问题描述 投票:0回答:2

我创建了许多

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,
                      ),
                    ),
                  ),
                ],
              ),
            ],
          ),
flutter row
2个回答
3
投票

你也可以使用

Spacer(), or Spacer(flex: 1),

或使用尺寸框确定您喜欢的高度和宽度

SizedBox(height: // put here,),

同样大小的盒子里还有其他东西,比如

SizedBox.expand(),

无论哪种方式都可以玩它


1
投票

如果

children
中的
Row
具有固定大小,那么您可以使用
MainAxisAlignment
代替
Row
以便相应地排列它们。

否则,如果您的

widgets
Flexible
,那么您可能需要在两个小部件之间添加一个
SizedBox
以及所需的
width

© www.soinside.com 2019 - 2024. All rights reserved.