【发布时间】:2013-12-12 19:26:44
【问题描述】:
我试图弄清楚如何改变 FrameLayout 堆叠其子项的方式。
目前它是最新的顶部 (FIFO)。我想改变它,使最新的孩子在底部(FILO)。我尝试查看 FrameLayout 的源代码,但我似乎可以找到任何关于它如何堆叠子元素的线索。
起初我认为getLayoutDirection() 是我正在寻找的东西,但这仅与 RTL/LTR 相关,以实现可访问性。
【问题讨论】:
我试图弄清楚如何改变 FrameLayout 堆叠其子项的方式。
目前它是最新的顶部 (FIFO)。我想改变它,使最新的孩子在底部(FILO)。我尝试查看 FrameLayout 的源代码,但我似乎可以找到任何关于它如何堆叠子元素的线索。
起初我认为getLayoutDirection() 是我正在寻找的东西,但这仅与 RTL/LTR 相关,以实现可访问性。
【问题讨论】:
使用setChildrenDrawingOrderEnabled(true) 并覆盖getChildDrawingOrder:
@Override
protected int getChildDrawingOrder(int childCount, int i) {
return childCount - 1 - i;
}
请查看the fork I did from your code 并进行测试。
【讨论】: