Android openGL ES 2.0里Surfaceview背景透明

时间:2021-03-11 14:46:52

surfaceview的黑色背景会挡住其父的背景,现在把surfaceview的背景设为透明,既可以看到所绘的3D物体,又可以看到背景。

在onSurfaceCreated里,调用GLES20.glClearColor(0f, 0f, 0f, 0f);alpha为0,即透明。

然后,对surfaceview要作一定处理:

mGLSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
TestRenderer renderer = new TestRenderer();
mGLSurfaceView.setRender(renderer);
mGLSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
mGLSurfaceView.setZOrderOnTop(true);

就OK啦。