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啦。
本文提供了一种方法将SurfaceView背景设为透明,以便在绘制3D物体的同时显示背景。通过在onSurfaceCreated方法中调用GLES20.glClearColor(0f,0f,0f,0f)来设置背景颜色为全透明,并对SurfaceView进行特定配置,如设置EGL配置选择、渲染器、透明格式和堆叠顺序,实现背景的可见性。
1万+

被折叠的 条评论
为什么被折叠?



