2011-04-06 13 views
6

Hola, he estado tratando de superponer una GLSurfaceview en una vista existente. El siguiente código muestra cómo superpuesto. Lo único que no funciona es la transparencia de la vista superior de la galería.Overlay Transparent GLSurfaceview en la vista existente en android?

view = new GLSurfaceView(this); 

    view.setEGLConfigChooser(8, 8, 8, 8, 16, 0); 
    view.getHolder().setFormat(PixelFormat.TRANSLUCENT); 

    view.setRenderer(new Level1Renderer(this)); 

    setContentView(R.layout.test); 


    addContentView(view, new LayoutParams(100,400)); 

he puesto a continuación, el color de fondo en mi procesador como

 gl.glClearColor(0.0f, 0.0f, 0.0f, 0); 

Alguien me puede asesorar en cuanto a lo que me voy a cabo?

Respuesta

3

el código es correcto, es posible que desee añadir

glView.setZOrderOnTop(true); 
glView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY); 

(en caso de que su vista está oculta por otro punto de vista y que lo necesite en la parte superior.)

1

tuve un problema con esto también . Estaba tratando de "desvanecer" toda la pantalla al interpolar los valores alfa de una vista que superpone glSurfaceView (más otros). Otras vistas se desvanecieron, pero no el glSurfaceView.

Encontré que setZOrderMediaOverlay(true) ... en lugar de setZOrderOnTop(true) en el glSurfaceView funcionó para mí.

Cuestiones relacionadas