189 8069 5689

Flutter的MainAxisAlignment用法-创新互联

#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: [
      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: [
          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:将主轴空白区域均分,使各个子控件间距相等

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:Flutter的MainAxisAlignment用法-创新互联
网页链接:http://cdxtjz.cn/article/cssego.html

其他资讯