flutter的布局组件:Row和Column

纵然是瞬间 提交于 2020-03-07 21:09:18

1.Row

该组件中的子元素以水平排列

2.Column

该组件中的子元素以垂直排列

在这两个组件中,都可以用mainAxisAlignment来设置主轴中子元素的排列效果。用crossAxisAlignment来设置次轴的排列效果。

3.当我们需要等比排列子元素时,可以用Expand来实现。

4.当我们需要设置边距时,可以用Padding或者SizedBox来实现。

示例代码:

class RandCTest extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Padding(
      padding: EdgeInsets.all(10),
      child: Column(
        children: <Widget>[
          Container(
            color: Colors.black,
            height: 200,
          ),
          SizedBox(
            height: 10,
          ),
          Container(
            height: 100,
            child: Row(
              children: <Widget>[
                Expanded(
                  flex: 2,
                  child: Image.network(
                      "https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=2704997767,2446581494&fm=26&gp=0.jpg",
                      fit: BoxFit.cover,
                  ),
                ),
                SizedBox(
                  width: 10,
                ),
                Expanded(
                  flex: 1,
                  child: Column(
                    children: <Widget>[
                      Expanded(
                        flex: 1,
                        child: Container(
                          color: Colors.red,
                        ),
                      ),
                      SizedBox(
                        height: 10,
                      ),
                      Expanded(
                        flex: 1,
                        child: Container(
                          color: Colors.blue,
                        ),
                      ),
                    ],
                  ),
                ),
              ],
            ),
          ),
        ],
      ),
    );
  }
}

效果图:
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!