旋转后重新排列BOX中元素的顺序

时间:2012-10-15 08:10:57

标签: actionscript-3 flex flash-builder mxml

我从2天以来一直在寻找解决方案,但找不到任何解决方案。我对Flex的了解是中等的。

我在flex应用程序上写作,我使用两个元素,让我们在父级内部调用方框1和方框2。有一个旋转父级的按钮,然后我必须以特定的方式重新安排这两个子框。

enter image description here

由于图像显示最初父框方向是水平方向而方框1,方框2方向是垂直方向。当我旋转90度的父盒时,我需要执行以下任务:

  • 重新排列方框1的顺序,方框2 =>所发生的是,在90度旋转后,盒子2位于盒子1的顶部,但我想要的是盒子1应该是第一个然后盒子2应该在那里。

我做了什么=>我尝试了很多方法来做这个例子

box.swapChildAt
虽然它的z排序有时它可以工作。但我仍在寻找合适的解决方案。

提前致谢:)

2 个答案:

答案 0 :(得分:1)

我认为你遇到的问题是旋转只是将旋转应用于显示对象,而布局逻辑则独立于此。因此,如果你有一个旋转的背景,我建议你将背景保持在一个孤立的容器中并旋转它,同时分别保留容器与这两个孩子,并为每个方向引入4个状态(0,90,180 ,270)。然后根据旋转应用相应的状态,并在该状态下自动旋转子项并更改其顺序。

答案 1 :(得分:0)

我建议一起使用2件事

1)Container的布局(水平或垂直),例如Group 2)容器中儿童的顺序

假设App将加载为

<强> | A | | B | 此处布局为水平,订单为 A = 1 B = 2

旋转90°(更改布局和顺序)

| B |

| A |此处布局为垂直,订单为 B = 1 A = 2

再次旋转90(仅更改布局)

<强> | B | | A | 此处布局为水平,订单为 B = 1 A = 2

再次旋转90°(更改布局和顺序)

| A |

| B |此处布局为垂直,订单为 A = 1 B = 2

再次旋转90°(恢复正常)(更改两种布局)

<强> | A | | B | 此处布局为水平,订单为 A = 1 B = 2

希望有助于