2013-06-11 9 views
5

में GLSurfaceView PopupWindow में FrameLayout पर मुझे GLSurfaceView जोड़ने की आवश्यकता है। समस्या यह है कि, आंतरिक रूप से, SurfaceView वर्तमान विंडो से टोकन का अनुरोध करता है। PopupWindows उनके स्वयं के टोकन नहीं है, तो मैं यह पॉपअप माता पिता से टोकन बजाय देते हैं, तो जैसे: अबएक पॉपअपविंडो

class MySurfaceView extends GLSurfaceView { 
    ... 
    @Override 
    public IBinder getWindowToken() { 
     // I set the mPopupParent manually to be the parent of the PopupWindow in question 
     return mPopupParent.getWindowToken(); 
    } 
    } 
    ... 
} 

, भले ही MySurfaceView एक FrameLayout में जोड़ा जाता है PopupWindow की सामग्री है कि, यह वहाँ आकर्षित नहीं करता है। यह इस विचार पर आकर्षित करता है कि मुझे टोकन मिला है।

इसे लेआउट पर आकर्षित करने के लिए मैं इसे कैसे प्राप्त कर सकता हूं?

संपादित करें: कुछ और विवरण देने के लिए, यदि कोई फर्क पड़ता है, तो mPopupParent एक आईएमई व्यू (एक कीबोर्ड, अनिवार्य रूप से) है।

+0

का प्रयोग करें आप 'PopupWindow' को छड़ी रहने के लिए है? मुझे लगता है कि आपको इसके बजाय 'संवाद' विषय के साथ एक सादा 'गतिविधि' का उपयोग करना चाहिए। –

+0

मैं एक आईएमई पर काम कर रहा हूं, दुर्भाग्य से काम करने के लिए कोई गतिविधि नहीं है। –

+1

क्या आपने 'addView' के माध्यम से' WindowManager' पर सीधे SurfaceView जोड़ने का प्रयास किया है? – Delyan

उत्तर

0
I got something just like yours,and finally these ways work out: 

ए। एक संवाद

बी उपयोग android.view.WindowManager

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