具有可绘制背景的Android GLSurfaceView

inisi 发布于 2018-10-11 android 最后更新 2018-10-11 22:59 29 浏览

我有一个带有drawable的GLSurfaceView作为背景,但是只有背景可见时渲染没有surfaceView.setZOrderOnTop(true) 我需要避免使用setZOrderOnTop(true),因为在GLSurfaceView的顶部使用了静态TextView。 任何建议让这个工作?

已邀请:

wanimi

赞同来自:

好吧,因为GLSurfaceView只是另一个视图,为什么不使用FrameLayout将GLSurfaceView放在ImageView之上(或者你用来显示drawable的任何东西)。

hquas

赞同来自:

尝试setZOrderMediaOverlay(true);应该将gl层放在背景上方但在窗口下方。

zhic

赞同来自:

假!你能行的。 只是一个展示它是如何工作的例子。

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下放置一个视图!

nrerum

赞同来自:

GLSurfaceView无法真正拥有背景。表面视图的工作方式是在Activity的窗口中切出一个洞,并在后面显示另一个表面。设置setZOrderOnTop(true)将表面移动到Activity的窗口上方。

要回复问题请先登录注册