【问题标题】:FrameLayout in reverse反向框架布局
【发布时间】:2013-12-12 19:26:44
【问题描述】:

我试图弄清楚如何改变 FrameLayout 堆叠其子项的方式。

目前它是最新的顶部 (FIFO)。我想改变它,使最新的孩子在底部(FILO)。我尝试查看 FrameLayout 的源代码,但我似乎可以找到任何关于它如何堆叠子元素的线索。

起初我认为getLayoutDirection() 是我正在寻找的东西,但这仅与 RTL/LTR 相关,以实现可访问性。

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    使用setChildrenDrawingOrderEnabled(true) 并覆盖getChildDrawingOrder

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

    请查看the fork I did from your code 并进行测试。

    【讨论】:

    • 你拯救了我的日子。我尝试在 FrameLayout 中的几个孩子上制作动画。但是直到找到你的帖子才能得到正确的效果!非常感谢!