具有SurfaceView的不可见RelativeLayout

时间:2018-11-14 14:41:58

标签: android android-layout surfaceview android-relativelayout

我正在尝试开发人脸识别应用程序,并且在RelativeLayout中使用SurfaceView。我能够将SurfaceView设置为“透明”,因此不需要查看Camera预览,但是现在我的背景是由RelativeLayout引起的白色,并且无法使其变为不可见,因此我看不到该背景。我的申请。

我尝试了很多事情,在SO上看了很多帖子,但是找不到适合我情况的解决方案。

Xml代码(relativelayout和surfaceview中的边距用于测试):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/topLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:keepScreenOn="true"
    android:visibility="invisible">

<SurfaceView
    android:id="@+id/surfaceview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="100dp"
    />

<android.support.v7.widget.RecyclerView
    android:id="@+id/recycler_view"
    android:layout_width="@dimen/image_preview"
    android:layout_height="match_parent"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    android:layout_margin="10dp"
    android:scrollbars="vertical" />

1 个答案:

答案 0 :(得分:0)

而不是使其不可见,而是通过将其添加到布局中将其完全删除:

android:visibility="gone"

,然后在需要时以编程方式将其设置为可见。