辅助链接

Row

基本用法

  1. Row(
  2. mainAxisAlignment : MainAxisAlignment.center, // 主轴 对齐方向
  3. crossAxisAlignment : CrossAxisAlignment.end, // 交叉轴
  4. textDirection: TextDirection.ltr, // 文本方向 ltr左->右 rtl右-> 左
  5. mainAxisSize : MainAxisSize.max, // 容器大小
  6. verticalDirection : VerticalDirection.down, // 垂直方向 如设置后 则交叉轴方向则按照这个垂直方向排列。
  7. textBaseline : TextBaseline.alphabetic, // 文本对齐基线
  8. children: <Widget>[
  9. Container(
  10. width: 100,
  11. height: 40,
  12. color: Colors.yellow[700],
  13. child: Text("1"),
  14. ),
  15. Container(
  16. width: 100,
  17. height: 30,
  18. color: Colors.yellow[600],
  19. child: Text("2"),
  20. ),
  21. Container(
  22. width: 100,
  23. height: 50,
  24. color: Colors.yellow[500],
  25. child: Text("3"),
  26. ),
  27. ],
  28. )

image.png

Column

基本用法

  1. Column(
  2. mainAxisAlignment : MainAxisAlignment.spaceAround, // 主轴 对齐方向
  3. crossAxisAlignment : CrossAxisAlignment.end, // 交叉轴
  4. textDirection: TextDirection.ltr, // 文本方向 ltr左->右 rtl右-> 左
  5. mainAxisSize : MainAxisSize.max, // 容器大小
  6. verticalDirection : VerticalDirection.down, // 垂直方向 如设置后 则交叉轴方向则按照这个垂直方向排列。
  7. textBaseline : TextBaseline.alphabetic, // 文本对齐基线
  8. children: <Widget>[
  9. Container(
  10. width: 100,
  11. height: 40,
  12. color: Colors.yellow[700],
  13. child: Text("1"),
  14. ),
  15. Container(
  16. width: 150,
  17. height: 40,
  18. color: Colors.yellow[600],
  19. child: Text("2"),
  20. ),
  21. Container(
  22. width: 200,
  23. height: 40,
  24. color: Colors.yellow[500],
  25. child: Text("3"),
  26. ),
  27. ],
  28. )

image.png

mainAxisAlignment 主轴对齐方向

image.pngimage.pngimage.pngimage.pngimage.pngimage.png

crossAxisAlignment 交叉轴对齐方式

对齐宽度/高度,都基于子节点宽度大小/高度大小来 做基本对齐的宽高 可以看出设置后并不会全部往左或者全部往右,这个就是基于子的最大宽高来设置的。

Column中 : 由于我们指定了 crossAxisAlignment 属性为CrossAxisAlignment.center,那么子项在Column纵轴方向(此时为水平方向)会居中对齐。注意,在水平方向对齐是有边界的,总宽度为Column占用空间的实际宽度,而实际的宽度取决于子项中宽度最大的Widget

image.pngimage.pngimage.png
image.png

VerticalDirection

image.png