【发布时间】:2020-06-21 14:33:15
【问题描述】:
我想在我的活动当前内容之上显示GLSurfaceView 作为叠加层。但是下面的内容需要是可见的。
这是我对GLSurfaceView 的设置:
setEGLConfigChooser(8, 8, 8, 8, 16, 0)
setZOrderOnTop(true)
holder.setFormat(PixelFormat.TRANSLUCENT)
setRenderer(renderer)
在渲染器中我有:
override fun onSurfaceCreated(unused: GL10, config: EGLConfig) {
// Set the background frame color
GLES20.glClearColor(1.0f, 0.0f, 0.0f, 0.1f)
}
override fun onDrawFrame(unused: GL10) {
// Redraw background color
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT)
}
override fun onSurfaceChanged(unused: GL10, width: Int, height: Int) {
GLES20.glViewport(0, 0, width, height)
}
我可以看到它是半透明的,但透明度绝对不是 alpha 值的 10%。它要高得多。即使将清除颜色设置为 (1, 0, 0, 0),我也可以在主要内容之上看到非常饱和的红色叠加层。
任何想法如何在我的主要内容之上呈现 GLSurfaceView 并支持透明度?
【问题讨论】:
标签: android opengl-es glsurfaceview