温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Flutter的MainAxisAlignment用法

发布时间:2020-04-21 10:56:44 来源:网络 阅读:2841 作者:熊西西77 栏目:开发技术

#Flutter的MainAxisAlignment用法

Row, Column

Row是横向排列Widget,类属于androi的Linerlayout横向布局,
Column是纵向排列Widget,类属于androi的Linerlayout横向布局

 Row({ key mainAxisAlignment mainAxisSize crossAxisAlignment textDirection verticalDirection textBaseline children }) ```

就针对MainAxisAlignment和CrossAxisAlignment我们来一个案例分析

MainAxisAlignment(主轴上控制子控件)

先创建一个Flutter工程,随便放两个Text,代码如下

 Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: <Widget>[ new Text( '红茶拿铁', textAlign: TextAlign.center, style: new TextStyle( color: Colors.blue)), new Text( '卡布奇诺', textAlign: TextAlign.center, style: new TextStyle( color: Colors.red)), ], ),

对应的效果为Flutter的MainAxisAlignment用法
效果不明显,不知道谁是谁,哪是哪,我们为每个widget加个背景,改造一下

 Row( children: <Widget>[ Container( height: double.infinity, color: Colors.black, child: new Text( '红茶拿铁', textAlign: TextAlign.center, style: new TextStyle( color: Colors.white))), Container( height: double.infinity, color: Colors.red, child: new Text( '卡布奇诺', textAlign: TextAlign.center, style: new TextStyle( color: Colors.white))), ], ),

对应效果为Flutter的MainAxisAlignment用法

我们现在使用MainAxisAlignment试试

我们在row中加上mainAxisAlignment: MainAxisAlignment.spaceBetween(使中间的各个子控件间距相等)
效果如下Flutter的MainAxisAlignment用法,不理解,感觉看不出什么,我们再加两个控件看看效果,效果如Flutter的MainAxisAlignment用法,现在清晰了吧。其他几个类似,当然还有一个属性textDirection,他可以控制start的排列始末。

  • MainAxisAlignment.spaceBetween:使中间的各个子控件间距相等
  • MainAxisAlignment.start:子控件放在主轴开始位置(类似于android默认Linerlayout排列规则)
  • MainAxisAlignment.end:将子控件放在主轴的结束位置
  • MainAxisAlignment.center:将子控件放在主轴的中间位置
  • MainAxisAlignment.spaceEvenly:将主轴空白区域均分,使各个子控件间距相等
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI