2013-12-11 43 views
3

我想弄清楚如何改變FrameLayout堆棧它的孩子的方式。FrameLayout反向

目前它是最新的(FIFO)。我想改變它,使最新的孩子在底部(FILO)。我試圖通過FrameLayout的源代碼,但我似乎可以找到任何線索如何堆疊它的子元素。

起初我以爲getLayoutDirection()是我正在尋找,但只適用於可訪問性的RTL/LTR。

回答

3

使用setChildrenDrawingOrderEnabled(true)並覆蓋getChildDrawingOrder有:

@Override 
    protected int getChildDrawingOrder(int childCount, int i) { 
     return childCount - 1 - i; 
    } 

請看看the fork I did from your code並對其進行測試。

+0

完美,謝謝! –