2025年Flutter Wrap 流布、自动换行

Flutter Wrap 流布、自动换行Wrap 可以实现流布局 自动换行 当子元素在一行排列空间不足时 会自动换行排列显示 参数详解 属性 说明 direction 排列方向 垂直和水平 alignment 主轴 x 对齐方式 spacing 主轴 x 子元素间距

大家好,我是讯享网,很高兴认识大家。

Wrap 可以实现流布局(自动换行),当子元素在一行排列空间不足时,会自动换行排列显示。

参数详解 

属性 说明
direction 排列方向(垂直和水平)
alignment 主轴(x)对齐方式
spacing 主轴(x)子元素间距
runAlignment 纵轴(y)对齐方式
runSpacing 纵轴(y)子元素间距
crossAxisAlignment 交叉轴(crossAxis)方向上的对齐方式。
textDirection 正反序 排列
verticalDirection 文本方向。
children 子元素集合

alignment 

WrapAlignment.start,
WrapAlignment.end,
WrapAlignment.center,
WrapAlignment.spaceAround,//左右对齐 间距与控件 同时平分空间

WrapAlignment.spaceBetween,//左右对齐 间距平分 两边没间隙


WrapAlignment.spaceEvenly,//左右对齐 间距平分 两边有间隙

 代码示例

 

class MyBodyA extends StatelessWidget { @override Widget build(BuildContext context) { return Container( padding: EdgeInsets.all(8), color: Colors.red[200], width: 400, height: 500, child: Wrap( //水平间距 spacing: 8.0, //垂直间距 runSpacing: 10.0, //对齐方式 alignment: WrapAlignment.spaceBetween, children: <Widget>[ MyView('A'), MyView('widget'), MyView('that'), MyView('displays'), MyView('its'), MyView('children'), MyView('int'), MyView('multiple'), MyView('horizontal'), MyView('vertical'), MyView('runs'), ], ) ); } } //定义一个 公共类 返回view class MyView extends StatelessWidget { String text; MyView(this.text); @override Widget build(BuildContext context) { return Container( padding: EdgeInsets.fromLTRB(8, 5, 8, 5), decoration: BoxDecoration( border:Border.all( color: Colors.blue, width: 1, ), borderRadius: BorderRadius.all( Radius.circular(8), ), ), child: Text(this.text), ); } }
讯享网

效果图

小讯
上一篇 2025-01-10 22:57
下一篇 2025-03-28 17:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/47680.html