Flutter 布局练习之Row组件

2019/12/25 8:33:41 | 阅2065 来源:好空间网络 [打印] [关闭]
 

class MyRow extends StatelessWidget{
  //row源码
  // Row({
  //   Key key,
  //   MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start, // 主轴对齐方式
  //   MainAxisSize mainAxisSize = MainAxisSize.max, // 水平方向尽可能大
  //   CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center, // 交叉处对齐方式
  //   TextDirection textDirection, // 水平方向子widget的布局顺序(默认为系统当前Locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左))
  //   VerticalDirection verticalDirection = VerticalDirection.down, // 表示Row纵轴(垂直)的对齐方向
  //   TextBaseline textBaseline, // 如果上面是baseline对齐方式,那么选择什么模式(有两种可选)
  //   List<Widget> children = const <Widget>[],
  // }) 

  @override
  Widget build(BuildContext context) {
    return Row(
      //max为占用最大的空间,min为占用最小的空间
      mainAxisSize:MainAxisSize.max,
      //当MainAxisSize.max 时候这个才生效, 这里设置子组件的对齐方式 start,end,center,spaceBetween,spaceAround,spaceEvenly
      mainAxisAlignment:MainAxisAlignment.spaceEvenly,
      //表示子Widgets在纵轴方向的对齐方式,需要子组件高度不同才有效果 有 start,center,end,stretch4个值 
      crossAxisAlignment:CrossAxisAlignment.center,
      //文字的排列方式 一般都是从左到右,还有个值rtl
      textDirection:TextDirection.ltr,

      children: <Widget>[
        Container(
          width: 80,
          height: 50,
          color: Color(0xffff4400),
          child: Text("data"),
        ),
        Container(
          width: 80,
          height: 80,
          color: Color(0xffff4400),
          child: Text("data"),
        ),
        Container(
          width: 80,
          height: 120,
          color: Color(0xffff4400),
          child: Text("data"),
        )
      ],
      );
  }
}

效果图:


2.png

经营许可证ICP:皖B2-20100052 公司邮箱:zcdnsz@jspkongjian.net
Copyright © 2004-2015, 安徽好空间网络科技有限公司 版权所有 , 本站素材部分来源于网络,如有侵权请告知删除。