我目前正在开发类似Photoshop的转换器应用程序,以将DisplayObjects作为图层使用。我有一个ArrayCollection作为我的值列表的数据提供者,但问题是这些项目在列表中以升序显示:
0 - Item 1
1 - Item 2
2 - Item 3
3 - Item 4
由于它是一个图层管理器应用程序,我需要这些项目按降序显示:
3 - Item 4
2 - Item 3
1 - Item 2
0 - Item 1
这是因为第0层位于堆栈的底部,而第3层位于顶部,而不是另一种方式,即Flex当前显示内容的方式。
我知道我可以简单地将一个Sort应用于我的ArrayCollection,以使项目按相反顺序排序,但这会破坏我的应用程序中的功能。我想知道是否有可能实质上修改我的Spark List或DataGroup以使布局向后渲染项目。有谁知道这样做的捷径?
答案 0 :(得分:1)
这是一条线索(我还在努力): 我创建了一个基于VerticalLayout的VerticalReversedLayout.as类。 在updateDisplayListVirtual和/或updateDisplayListReal中,有一个for(var ...)将子项定位在y轴上,只是反转循环的方向。然后,您只需将此布局分配给DataContainer(或我的情况下为List)。它运作得很好。
如果使用dragMove功能,则可能还必须修改calculateDropIndex。