Android布局:无法看到孩子超过父母

时间:2013-09-18 07:38:09

标签: android layout view parent children

我在图片中看到了Layouts(抱歉,我还不能正常发布): https://dl.dropboxusercontent.com/u/28640502/Unbenannt.bmp

然而,当我执行应用程序时,我只能看到相机预览,而不是文本和SeekBar。我知道它们有效,因为当我减小相机的尺寸时,我可以看到它们并进行交互,但是如果我想让相机像背景一样,那么孩子们就可以了,它就不起作用了。

我一直在检查很多线程有类似的问题,但我找不到解决方案: 123 ......有什么想法吗?非常感谢!

以下是我的xml代码以防万一:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="0.55"
    android:orientation="vertical" >

    <FrameLayout
        android:id="@+id/camera_preview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="fill">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/show_height"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5sp"
                android:layout_marginRight="10sp"
                android:layout_weight="0.12"
                android:text="H" />

            <SeekBar
                android:id="@+id/select_height"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:layout_margin="5sp"
                android:layout_weight="0.91" />

            <TextView
                android:id="@+id/show_distance"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0.06"
                android:text="Dist" />
        </LinearLayout>

    </FrameLayout>

</LinearLayout>

2 个答案:

答案 0 :(得分:2)

尝试以相对布局输入两个布局,例如

<LL>
  <RL>
    <FL>
    </FL>
    <LL>
    </LL>
  </RL>
</LL>

这是因为FL覆盖了LL

答案 1 :(得分:1)

您可以使用View类的bringToFront()方法。

SeekBar seeker = (SeekBar)findViewById(R.id.select_height);
seeker.bringToFront();

Alernatively你可以使用sendToBack()函数将视图放在其他视图后面。

还要记住,视图的z-index取决于在xml布局文件中声明视图的顺序。

我还建议更改相机预览布局,并将其作为兄弟姐妹的第一个子布局。在xml文件中最后添加的那个将位于顶部。