我有一个带有可绘制作为背景的 GLSurfaceView,但是在没有 surfaceView.setZOrderOnTop(true) 的情况下渲染时只有背景可见
我需要避免使用 setZOrderOnTop(true),因为在 GLSurfaceView 之上使用了静态 TextView。
有什么建议可以让它工作吗?
我有一个带有可绘制作为背景的 GLSurfaceView,但是在没有 surfaceView.setZOrderOnTop(true) 的情况下渲染时只有背景可见
我需要避免使用 setZOrderOnTop(true),因为在 GLSurfaceView 之上使用了静态 TextView。
有什么建议可以让它工作吗?
GLSurfaceView 不能真正有背景。表面视图的工作方式是在 Activity 的窗口中切出一个孔并在后面显示另一个表面。设置 setZOrderOnTop(true) 会移动 Activity 窗口上方的表面。
错误的!你能行的。只是一个例子来展示它是如何工作的。
glRenderer = new OpenGLRenderer(context);
view = new GLSurfaceView(context);
view.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
view.setRenderer(glRenderer);
view.getHolder().setFormat(PixelFormat.RGBA_8888);
view.getHolder().setFormat(PixelFormat.TRANSLUCENT);
view.setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);
然后用framelayout在glsurfaceview下放一个view!
尝试 setZOrderMediaOverlay(true); 这应该将 gl 层放在背景之上但在窗口之下。
好吧,既然 GLSurfaceView 只是另一个视图,为什么不使用 FrameLayout 将 GLSurfaceView 放在 ImageView 的顶部(或者您用来显示可绘制对象的任何东西。)