2012-11-19 10 views
7

के बिना एक सतह दृश्य पारदर्शी बनाएं मेरे पास एक रिलेवेटलाइट है जिसमें एक कस्टम सतह दृश्य और अन्य तत्व हैं जो SurfaceView पर खींचे जाने चाहिए। मुझे पारदर्शी होने के लिए SurfaceView की भी आवश्यकता है। मैंने इस उत्तर की कोशिश की: how to make surfaceview transparent। लेकिन setZOrderOnTop (सत्य) के साथ RelativeLayout में SurfaceView पर अन्य तत्व सतह के ऊपर दिखाए गए हैं (और आंशिक रूप से छुपा हुआ है यदि सतह में कुछ रंग है)।setZOrderOnTop (true)

मैं इस समस्या को कैसे हल कर सकता हूं? धन्यवाद

+0

आप क्या जरूरत है? क्या आप पृष्ठभूमि को अपने सतही दृश्य में जोड़ना चाहते हैं और अपने सतही दृश्य के शीर्ष पर एक और दृश्य भी जोड़ना चाहते हैं? –

+0

हां, मुझे जो चाहिए – Addev

उत्तर

3

सेट RGBA_8888 के लिए धारक पिक्सेल प्रारूप,

sv.setZOrderOnTop(true); //very much necessary 

getHolder().setFormat(PixelFormat.RGBA_8888);

+1

कम से कम min3d lib के लिए मेरे लिए काम नहीं किया। इसके लिए ओपनजीएल संस्करण पर कोई आवश्यकता है? – riwnodennyk

+0

मेरे लिए भी काम नहीं कर रहा है –

+0

मेरे लिए भी काम नहीं कर रहा है। – aasha

0

मैं setZOrderMediaOverlay(true) बजाय setZOrderOnTop(true) से सफलता मिली। यह OpenGL SurfaceView के नीचे और ऊपर दोनों दृश्यों की अनुमति देता है।

यहाँ यह संदर्भ में है:

GLSurfaceView glview = (GLSurfaceView)findViewById(R.id.surface); 
glview.setEGLConfigChooser(8, 8, 8, 8, 16, 0); 
glview.getHolder().setFormat(PixelFormat.RGBA_8888); 
glview.setZOrderMediaOverlay(true); 
glview.setEGLContextClientVersion(2); 
+0

क्या आप मुझे इसके लिए कोड का टुकड़ा दिखा सकते हैं, मैं इसका उपयोग इस प्रकार कर रहा हूं: setZOrderMediaOverlay (true); \t \t भूतलहोल्डर धारक = getHolder(); \t \t धारक .addCallback (यह); \t \t holder.setFormat (PixelFormat.TRANSLUCENT); लेकिन यह किसी भी चीज को नहीं दिखाया, वास्तव में यह दूसरे दृश्य से परे चला जाता है। जब गतिविधि शुरू हो रही है तो मैं उस काम को सतह पर कर सकता हूं, लेकिन अचानक मेरे विचार से आ गया। – skygeek

+0

मैंने उस फ़ंक्शन कॉल के लिए कुछ संदर्भ जोड़ा। यह उस गतिविधि के निर्माण में है जिसमें सतह होती है। मदद के लिए –

+0

thanx, मुझे इसे आज़माएं। – skygeek