Flutter 流式布局_Wrap

本文介绍了Flutter中的Wrap组件,通过设置spacing、runSpacing、alignment和runAlignment属性来调整横轴和纵轴的间距以及主轴和整体的对齐方式。示例代码展示了如何创建一个包含多个按钮的布局,并演示了这些属性的实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spacing

横轴间距

spacing: 10,

runSpacing

纵轴间距

runSpacing: 10,

alignment

主轴对齐方式

alignment: WrapAlignment.start,

runAlignment

整体相对于父布局的对齐方式

//child全部右对齐
runAlignment: WrapAlignment.end,

示例

class WrapBody extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      width: 250,
      color: Colors.red,
      child: Wrap(
        //调整横轴间距
        spacing: 10,

        //调整纵轴间距
        runSpacing: 10,

        //主轴的对齐方式
        alignment: WrapAlignment.start,

        //相对父布局的对齐方式
        runAlignment: WrapAlignment.end,

        children: [
          MyButton("路飞"),
          MyButton("波雅汉库克"),
          MyButton("罗罗诺亚索隆"),
          MyButton("山治"),
          MyButton("娜美桑"),
          MyButton("布鲁克"),
          MyButton("乔巴"),
          MyButton("白胡子"),
          MyButton("基德"),
          MyButton("艾斯"),
        ],
      ),
    );
  }
}

//封装button组件
class MyButton extends StatelessWidget {
  String text = '';

  MyButton(this.text);

  @override
  Widget build(BuildContext context) {
    return ElevatedButton(
      onPressed: () {
        print("点击了按钮 $text");
      },
      child: Text(text),
    );
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值