2010-08-12 50 views
0

我目前正在研究一個類似Photoshop的轉換器應用程序,將DisplayObject作爲圖層使用。我有充當我的值的列表我的數據提供一個ArrayCollection,但問題是,項目出現在升序排列在列表中:Flex 4:垂直降序DataGroup?

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的當前正在顯示的方式的其他方式的東西。

我知道我可以簡單地將排序應用到我的ArrayCollection,以使項目按相反的順序排序,但這會在我的應用程序中打破功能。我想知道是否可以基本上修改我的Spark List或DataGroup以使佈局渲染項目向後。有誰知道做這個的捷徑?

回答

1

這裏有一個線索(我仍在研究它): 我創建了一個基於VerticalLayout的VerticalReversedLayout.as類。 在updateDisplayListVirtual和/或updateDisplayListReal中,有一個for(var ...)將子節點放置在y軸上,只是反轉循環的方向。然後,您只需將此佈局分配給您的DataContainer(或我的案例中的List)。它完美的作品。

如果您使用dragMove功能,則可能還必須修改calculateDropIndex。

+0

不錯!謝謝!任何代碼發佈? – 2010-12-09 21:17:55