2011-04-06 10 views
6

हाय मैं एक मौजूदा दृश्य पर एक GLSurfaceview ओवरले करने की कोशिश कर रहा हूं। नीचे दिया गया कोड दिखाता है कि मैं कैसे ओवरले करता हूं। एकमात्र चीज जो काम नहीं करती है वह शीर्ष पर glsurfaceview की पारदर्शिता है।ओवरले पारदर्शी GLSurfaceview?

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)); 

मैं तो

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

किसी ने मुझे के रूप में सलाह देने के लिए कर सकते हैं के रूप में मेरे रेंडरर में पृष्ठभूमि का रंग निर्धारित किया है कि मैं क्या बाहर जा रहा हूँ?

उत्तर

3

कोड सही है, आप

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

जोड़ सकते हैं (यदि आपके विचार अन्य दृश्य से छुपा है और आप शीर्ष पर यह की जरूरत है।)

1

मैं भी इस के साथ एक समस्या हुई । मैं glSurfaceView (प्लस अन्य) ओवरलेइंग दृश्य के अल्फा मूल्यों को ट्वेंक करके अपनी पूरी स्क्रीन को 'फीका' करने की कोशिश कर रहा था। अन्य विचार सभी फीका, लेकिन glSurfaceView नहीं।

मैंने पाया कि setZOrderMediaOverlay(true) ... glSurfaceView पर setZOrderOnTop(true) के बजाय मेरे लिए काम किया।

संबंधित मुद्दे