在OpenGL ES中无法拥有透明背景

时间:2017-03-02 14:25:22

标签: android opengl-es transparency glsurfaceview

我正在尝试使用OpenGL ES 2.0使用GLSurfaceView覆盖SurfaceView,因此我需要在GLSurfaceView中设置透明背景。

在互联网上寻找解决方案之后,我发现这段代码通常可以完成这项工作......

在SurfaceView中:

mGlSurfaceView.setZOrderOnTop(true);
mGlSurfaceView.getHolder().setFormat(PixelFormat.RGBA_8888);
mGlSurfaceView.setRenderer(mRenderer);
mGlSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
mGlSurfaceView.requestRender();

在渲染器中:

GLES20.glClearColor(0.0f, 0.0f, 0.0f, 0.0f)

glSurfaceView覆盖其他视图,但它仍然是不透明的。我尝试了这些调用的变体以及其他一些已经为其他人解决了问题的东西,但它对我不起作用。

谢谢

1 个答案:

答案 0 :(得分:0)

IIRC您需要将活动配置为透明。参见:

How do I create a transparent Activity on Android?