我需要一个带有透明背景的 GLSurfaceView (因为我需要在其下方看到一个视图)并且我已使用以下代码成功创建了它:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/test"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/test" />
<android.opengl.GLSurfaceView
android:id="@+id/surfaceView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/bar" />
<ImageView
android:id="@+id/view_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:padding="10dp"
android:src="@drawable/ic_test" />
</RelativeLayout>
据我所知,使GLSurfaceView透明的唯一方法是将 view.setZOrderOnTop(true)添加到GLSurfaceView。以下是我如何声明GLSurfaceView:
mGlSurfaceView.setZOrderOnTop(true); //this is the line of code that is causing my problem
mGlSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
mGlSurfaceView.setEGLContextClientVersion(2);
mGlSurfaceView.getHolder().setFormat(PixelFormat.RGBA_8888);
mGlSurfaceView.setRenderer(mRenderer);
mGlSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
mGlSurfaceView.requestRender();
现在,将ZOrderOnTop标志设置为true,我不能再看到在xml中位于GLSurfaceView之后的ImageView。
我的问题:是否存在将视图放在透明GLSurfaceView上的方法?