所以我的布局就是这样:
<OuterView>
<InnerViewOne />
<InnterViewTwo />
</OuterView>
问题是,如果我们将两个内部视图设置为具有一定宽度和高度的框,使得它们重叠,然后InnerViewTwo
位于InnterViewOne
的顶部。如果要切换订单以便它看起来像这样
<OuterView>
<InnerViewTwo />
<InnterViewOne />
</OuterView>
然后InnerViewTwo
位于InnerViewOne
下。
我想要的是InnerViewTwo
InnerViewOne
InnerViewOne
下x
。y
后面是z
。我并不担心他们在RelativeLayout
和RelativeLayout
飞机上的位置。但我想更改LinearLayout
。
注意:
1)OuterView = {{1}}
2)InnerViewOne = {{1}}
3)InnerViewTwo = {{1}},垂直方向。
答案 0 :(得分:1)
这对你好吗? getChildDrawingOrder
但是如果需要点击一下,它会让用户感到困惑吗?此方法仅更改绘图的顺序,但不更改事件调度的顺序...
答案 1 :(得分:0)
更简单的方法是使用图层。例如,移动应该位于其自身层顶部的组件,并将该层简单地放在原始层之上。
我能够通过拥有3个RelativeLayout实例来实现这一点:#1容器; #2底层;和#3是顶层。
<!-- Container #1 -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Bottom Layer #2 -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
...
</RelativeLayout>
<!-- Top Layer #2 -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
...
</RelativeLayout>
</RelativeLayout>