例如,这是LinearLayout中的6个子视图。
线性布局
查看0
查看1
视图2
视图3
查看4
查看5
在某些情况下,我想将View0置于其他视图的顶部,也就是说,View0不能与其他视图重叠。
有方法bringToFront
和bringChildToFront
,它们会将View0的索引更改为:
线性布局
查看1
视图2
视图3
查看4
查看5
查看0
我尝试了ViewCompat.setTranslationZ
方法,但是它不起作用。
如何在不更改View0索引的情况下将View0置于其他视图之上?
最佳答案
您将需要子类LinearLayout
,使用setChildDrawingOrderEnabled(true)
,并覆盖getChildDrawingOrder()
以返回最后一个项目的索引。
因此,在您的示例中,您将在getChildDrawingOrder(int childCount, int i)
中返回以下内容:
return (childCount + (i-1)) % childCount;
关于android - 如何在不更改 View 索引的情况下将 View 置于LinearLayout的顶部?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37234417/