我需要在 Surface 视图上有一个 GLSurfaceView。GLSurface 视图将有一个渲染器,而 SurfaceView 将是相机视图。
以下是我的布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/title_bar" >
<Button
android:id="@+id/BTN_HOME_DEVICES"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:background="@drawable/btn_home"
android:text="@string/home_button"
android:textAppearance="?android:attr/textAppearanceMediumInverse"
android:textColor="@color/white" />
<TextView
android:id="@+id/BANNER_HELP"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/BTN_HOME_HELP"
android:layout_alignBottom="@+id/BTN_HOME_HELP"
android:layout_centerHorizontal="true"
android:layout_centerInParent="true"
android:text="@string/auto_text"
android:textColor="@color/white"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="20sp" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/surface_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:focusable="true" >
<SurfaceView
android:id="@+id/cameraPreview"
android:layout_marginTop="120px"
android:layout_width="fill_parent"
android:layout_height="500dp" />
<GLSurfaceView
android:id="@+id/glView"
android:layout_marginTop="120px"
android:layout_width="fill_parent"
android:layout_height="500dp" />
</RelativeLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
>
<Button
android:id="@+id/stopButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.20"
android:text="AR Call Stop" />
<Button
android:id="@+id/startButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.20"
android:text="AR Call Start" />
</LinearLayout>
</RelativeLayout>
在我的活动中,我得到了如下所示的 glsurface 视图
GLSurfaceView glView = (GLSurfaceView) findViewById(R.id.glView);
glView.setEGLConfigChooser( 8, 8, 8, 8, 16, 0 );
glView.getHolder().setFormat( PixelFormat.TRANSLUCENT );
glView.setRenderer( new GLClearRenderer() );
setContentView(R.layout.auto_layout);
在这里,我的 glView 将变为 null。如何以正确的方式实现这种行为?