[ ..._flutter row 间隔">
当前位置:   article > 正文

flutter中行(Row)子控件设置间距和左右对齐

flutter row 间隔
设置子控件间距
  1. 使用SizedBox保持固定间距
  1. Row(
  2. children: <Widget>[
  3. Text("1"),
  4. SizedBox(width: 50), // 50宽度
  5. Text("2"),
  6. ],
  7. )
image.png
  1. 使用Spacer填充尽可能大的空间
  1. Row(
  2. children: <Widget>[
  3. Text("1"),
  4. Spacer(), // use Spacer
  5. Text("2"),
  6. ],
  7. )
image.png
  1. 使用mainAxisAlignment对齐方式控制彼此间距
  1. Row(
  2. mainAxisAlignment: MainAxisAlignment.spaceEvenly, //元素与空白互相间隔
  3. children: <Widget>[
  4. Text("1"),
  5. Text("2"),
  6. ],
  7. )
image.png
  1. 如果不用行的话,还可以使用Wrap并指定spacing
  1. Wrap(
  2. spacing: 100, // set spacing here
  3. children: <Widget>[
  4. Text("1"),
  5. Text("2"),
  6. ],
  7. )
image.png
  1. 同样是使用Wrap,设置spaceAround
  1. Wrap(
  2. alignment: WrapAlignment.spaceAround, // 空白包围住元素
  3. children: <Widget>[
  4. Text("1"),
  5. Text("2"),
  6. ],
  7. )
image.png
设置子控件分别左对齐和右对齐
  1. 使用spaceBetween对齐方式
  1. new Row(
  2. mainAxisAlignment: MainAxisAlignment.spaceBetween,
  3. children: [
  4. new Text("left"),
  5. new Text("right")
  6. ]
  7. );
  1. 中间使用Expanded自动扩展
  1. Row(
  2. children: <Widget>[
  3. FlutterLogo(),//左对齐
  4. Expanded(child: SizedBox()),//自动扩展挤压
  5. FlutterLogo(),//右对齐
  6. ],
  7. );
  1. 使用Spacer自动填充
  1. Row(
  2. children: <Widget>[
  3. FlutterLogo(),
  4. Spacer(),
  5. FlutterLogo(),
  6. ],
  7. );
  1. 使用Flexible
  1. Row(
  2. children: <Widget>[
  3. FlutterLogo(),
  4. Flexible(fit: FlexFit.tight, child: SizedBox()),
  5. FlutterLogo(),
  6. ],
  7. );
image.png

原文参考1原文参考2

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/289748
推荐阅读
相关标签
  

闽ICP备14008679号