倒置的FrameLayout

3
我正在尝试弄清楚如何改变FrameLayout堆叠其子项的方式。
目前它是最新的在顶部(FIFO)。我想将其更改为最新的子项位于底部(FILO)。我尝试查看FrameLayout的源代码,但似乎找不到任何关于它如何堆叠子元素的线索。
起初,我以为getLayoutDirection()是我要找的,但那只与RTL / LTR可访问性有关。
1个回答

4

使用setChildrenDrawingOrderEnabled(true),并重写getChildDrawingOrder方法:

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

请查看我从你的代码中派生出来的分支并进行测试。

你救了我的一天!我曾尝试在FrameLayout中的多个子元素上进行动画,但直到看到了你的帖子才成功实现了效果。非常感谢! - Robert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接