android中视图的z-index

时间:2014-11-07 02:42:07

标签: android xml android-layout layout

所以我的布局就是这样:

<OuterView>
    <InnerViewOne />
    <InnterViewTwo />
</OuterView>

问题是,如果我们将两个内部视图设置为具有一定宽度和高度的框,使得它们重叠,然后InnerViewTwo位于InnterViewOne的顶部。如果要切换订单以便它看起来像这样

<OuterView>
        <InnerViewTwo />
        <InnterViewOne />
</OuterView>

然后InnerViewTwo位于InnerViewOne下。

我想要的是InnerViewTwo InnerViewOne InnerViewOnexy后面是z。我并不担心他们在RelativeLayoutRelativeLayout飞机上的位置。但我想更改LinearLayout

注意:

1)OuterView = {{1}}

2)InnerViewOne = {{1}}

3)InnerViewTwo = {{1}},垂直方向。

2 个答案:

答案 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>