流式布局-Wrap、Flow&&层叠布局-Stack
流式布局-Wrap、Flow
Wrap的使用和线性布局很像,包括一些参数基本上和线性布局的一样,所以这里我们记录一下Wrap的一些比较特别的参数
spacing :主轴方向子节点的间距,就是子节点与子节点之间的留白
runSpacing 纵轴方向的间距(主轴与纵轴的概念在线性布局这提了)
runAlignment :纵轴方向的对齐方式,用WrapAlignment调用,默认是WrapAlignment.start,总共有start、end、center、spaceBetween、spaceAround、spaceEvenly几个选择,这几个选择我们在线性布局中也提了
Flow这是一个可以自定义布局策略或性能要求较高的时候考虑的流式布局,由于个人感觉这个不算入门级别应该学习的,因为用起来太复杂,需要自定义delegate,而且要自己去计算子widget的大小,所以这里知记录Flow也是可以实现流式布局的,优缺点如下:
- 性能好;Flow是一个对child尺寸以及位置调整非常高效的控件,Flow用转换矩阵(transformation matrices)在对child进行位置调整的时候进行了优化:在Flow定位过后,如果child的尺寸或者位置发生了变化,在FlowDelegate中的
paintChildren()
方法中调用context.paintChild
进行重绘