¿Cómo puedo poner una vista encima de un glSurfaceView con un fondo transparente?

Mi aplicación está compuesta (de atrás hacia delante) de un fondo de imagen, luego un glSurfaceView que contiene un objeto 3D y en los dos botones superiores. Quiero que el fondo del GLSurfaceView sea transparente y vea la imagen detrás.

He probado dos soluciones, pero ninguna de ellas es satisfactoria:

mGLSurfaceView = new GLSurfaceView(mContext); mGLSurfaceView.setEGLContextClientVersion(2); mGLSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0); mGLSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT); mGLSurfaceView.setZOrderOnTop(true); mGLSurfaceView.setRenderer(mRenderer); 

En este caso, puedo ver el fondo, pero el objeto 3D está flotando en la parte superior de todos los otros diseños, a veces ocultando los botones.

 mGLSurfaceView = new GLSurfaceView(mContext); mGLSurfaceView.setEGLContextClientVersion(2); mGLSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0); mGLSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT); mGLSurfaceView.setZOrderMediaOverlay(true); mGLSurfaceView.setRenderer(mRenderer); 

En ese caso, puedo ver los botones, pero el GLSurfaceView ya no es transparente y no puedo ver el fondo de la imagen. He analizado todos los otros temas, pero ninguno de ellos me dio ninguna respuesta satisfactoria.

 final GLSurfaceView glView = (GLSurfaceView) findViewById(R.id.glView); glView.setZOrderOnTop(true); glView.setEGLConfigChooser(8, 8, 8, 8, 16, 0); glView.getHolder().setFormat(PixelFormat.RGBA_8888); glView.setRenderer(new MyRenderer()); glView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY); 

Dado por SO post: Android GLSurfaceView fondo transparente sin setZOrderonTop y la entrada de blog original: Cómo configurar un GLSurfaceView transparente

SetZOrderOnTop () funciona, pero significa que no se puede colocar ningún gráfico encima de este SurfaceView, que es lamentable.

  • Pantalla emergente / superpuesta en panal de android
  • Primera vista arriba / superpuesta en LinearLayout
  • Android cómo dibujar la pintura en mano libre en MapView con superposición?
  • Alternativa de Android a MetroGridHelper
  • Colocar una vista de imagen como imagen de superposición en la vista previa de la cámara
  • ¿Por qué mi sistema se superpone capturando todos los toques (no es posible interacción con la vista subyacente)
  • Eliminar todas las superposiciones
  • Después de eliminar los eventos de tapa de OverlayItem todavía activan
  • Dibujo es constantemente llamado en mi superposición de mapa de Android
  • Widget flotante / superposición en el lanzador de Android
  • Aplicación de Android: mostrar elementos de superposición en AsyncTask
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.