10. Flutter——Wrap页面布局组件

6 篇文章 0 订阅
4 篇文章 0 订阅

1. Wrap组件

  • Wrap 可以实现流布局,单列的 Wrap 则跟 Row 无差别。但 Row 与 Column 都是单行单列的,Wrap 则突破了这个限制,mainAxis 上空 间不足时,就会向 crossAxis 上去扩展显示。

  • 属性:

属性说明
direction主轴的方向,默认水平
alignment主轴的对其方式
spacing主轴方向上的间距
textDirection文本方向
verticalDirection定义了 children 摆放顺序,默认是 down,见 Flex 相关属性介绍。
runAlignmentrun 的对齐方式。run 可以理解为新的行或者 列,如果是水平方向布局的话, run 可以理解 为新的一行
runSpacingrun 的间距
  • 代码:
classMyAppextendsStatelessWidget{ 
	@override 
	Widgetbuild(BuildContextcontext){ 
		 returnMaterialApp( 
		 	home:Scaffold(
		 	appBar:AppBar(
		 		title:Text('FlutterDemo')), 
		 		body:LayoutDemo(), 
		 	)); 
		 } 
	} 
classLayoutDemoextendsStatelessWidget{ 
	@override 
	Widgetbuild(BuildContextcontext){ 
		returnWrap( 
			spacing:10, 
			runSpacing:10, 
			alignment:WrapAlignment.spaceEvenly,
			children:<Widget>[ 
				MyButton("第 1"), 
				MyButton("第 2"), 
				MyButton("第 3"), 
				MyButton("第 4"), 
				MyButton("第 5"), 
				MyButton("第 6第 1 "), 
				MyButton("第 7"), 
				MyButton("第 8第 9 "), 
				MyButton("第 9"), 
				MyButton("第 10"), 
				MyButton("第 11第 999"), 
			],
		);
	}
}

classMyButtonextendsStatelessWidget{
	finalStringtext;
	constMyButton(this.text,{Keykey}):super(key:key);
	@override 
	Widgetbuild(BuildContextcontext){ 
			returnRaisedButton(
				 child:Text(this.text),
				 textColor:Theme.of(context).accentColor,
				 onPressed:(){ }, 
			); 
	  } 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值