Flex 层级概念的分析--setElementIndex()与swapElements()与getElementIndex()的解析

一,Flex 层级概念

        对于Flex容器来说。作为它的children(),是有一个先后顺序。根据子组件在容易的初始化先后顺序层次依次升高,类似于堆栈。先初始化的在下面。最后加进去的在最上

面。所以最后加进去的组件是不会被任何组件遮挡的。

        0 ----------------最底层 不可能有比0更低的层次。-1 会报out of range错误

        this.numElements-1  通常的最高层。为什么是通常的最高层。因为即使你容器只有三个组件,它的最高层还是可以达到超过3层的架构。经测试发现一般最高层是numElements+4是最高层。如果再超过也会报out of range错误。所以我个人一般做法是把this.numElements-1 作为最高层。如果超过这个数字,就手动的给它值为this.numElements-1.

 

对于层级管理。必须有的三个方法。

getElementIndex()  得到当前Element的index

setElementIndex() 设置当前element的index

swapElements() 交换两个element的index

 

我想信对于getElementIndex() 和swapElements() 这两个方法很容易理解。一个是得到当前element的层级。另外一个是交换两个element的层级。

但是setElementIndex()此方法是什么用处。我们只知道设置此element的index。但是其他element的index呢?会不会有什么改变呢 。

这里必须说明的是。setElementIndex()会影响以前的层级。比如。

        0 1 2 3 4 5 6 7 8 9

如果现在你想把第4层的element set成第2层。那么第2层会往哪里走 .会和第4层的换位?事实是不会的。因为那位会是2 3层级的关系混乱。在这里Flex机制是向前推或者向后退。哪里有空位就往哪里走。所以在这里 最后会变成。2 3 层都会提高一个层级。变成 3.4 层级。

 

 

我想现在这三个方法。应该很清楚其作用。至于实现机理就不细说了。相信既然知道了意思实现起来就不是难事。

 

 谢谢

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值