Android GlsurfaceView com fundo desenhado
-
27-09-2019 - |
Pergunta
Eu tenho um GlsurfaceView com um desenho como plano de fundo, no entanto, apenas o fundo é visível quando renderizado sem a SurfaceView.SetzOrderOntop (true)
Preciso evitar o uso do setZorderOntop (true), porque há o texto estático sendo usado na parte superior do GlsurfaceView.
Alguma sugestão para fazer isso funcionar?
Solução
O GlsurfaceView não pode realmente ter um plano de fundo. A maneira como uma vista da superfície funciona é cortando um buraco na janela da sua atividade e mostrando outra superfície para trás. Configurar o setZorderOntop (true) move a superfície acima da janela da atividade.
Outras dicas
falso! Você consegue. Apenas um exemplo para mostrar como funciona.
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);
Em seguida, use o Framelayout para colocar uma vista no GlsurfaceView!
Tente setzordermediaoverlay (true); que deve colocar a camada GL acima do fundo, mas abaixo da janela.
Bem, como o GlsurfaceView é apenas mais uma visualização, por que não usar um Framelayout para colocar o GlsurfaceView na parte superior do ImageView (ou o que você está usando para exibir o desenhado.)