最近在做一个项目,有一个功能界面前期使用栅格布局的,现在想要改成自由布局,但是总不能以前做的数据全部丢掉,所以打算写个将本将前期数据处理成自由布局的配置。
首先得了解栅格布局的原理。
简单了解了一下,其实就是将屏幕等分,然后记录每个显示块占用的基于最小块的倍数。官方一点的解释就是:
布局的栅格化系统,我们是基于行(row)和列(col)来定义信息区块的外部框架,以保证页面的每个区域能够稳健地排布起来布局是基于 24 栅格来定义每一个『盒子』的宽度,但不拘泥于栅格。
- 通过 row 在水平方向建立一组 column(简写 col)
- 你的内容应当放置于 col 内,并且,只有 col 可以作为 row 的直接元素
- 栅格系统中的列是指 1 到 24 的值来表示其跨越的范围。例如,三个等宽的列可以使用 来创建
- 如果一个 row 中的 col 总和超过 24,那么多余的 col 会作为一个整体另起一行排列
所以我的处理方式就很简单了,得到历史数据的row和col的宽高以及坐标值,然后将当显示区域总宽高/24,然后乘对应的系数即可,当然后来才发现我们这个代码里面用到的是12等分。