2011-02-10 17 views
10

हम एक ऐसे अनुप्रयोग को विकसित कर रहे हैं जहां हमें कई विचारों से मोशनवेन्ट्स को कैप्चर करने की आवश्यकता है। जब हम ऐसा करने का प्रयास करते हैं, तो एंड्रॉइड केवल पहले स्पर्श किए गए दृश्य को ईवेंट भेजता है और, एक साथ दूसरे दृश्य को स्पर्श करते समय, यह हमें केवल पहले दृश्य पर ACTION_POINTER_DOWN देता है, भले ही पॉइंटर समन्वय इसकी सीमाओं के बाहर हों और अन्य विचारों के अंदर ' ।एकाधिक दृश्य ऑन टच घटनाक्रम

क्या कोई तरीका है कि हम प्रत्येक स्पर्श किए गए दृश्य (ऑन टच पर अलग-अलग कॉल) में भेजे गए ईवेंट प्राप्त कर सकते हैं?

हम मानते हैं कि एक अभिभावक दृश्य से स्पर्श घटनाओं को रोकना और फिर मैन्युअल रूप से उन्हें प्रत्येक दृश्य में प्रेषित करना काम कर सकता है, लेकिन यहां तक ​​कि अगर ऐसा होता है, तो हम जो हासिल करने की कोशिश कर रहे हैं उसके लिए यह व्यावहारिक नहीं होगा। क्या कोई आसान तरीका है?

उत्तर

6

टच इवेंट को वर्तमान में फोकस में देखने वाले दृश्य द्वारा पहली बार पकड़ लिया जाता है। यदि आपने 1 व्यू छुआ है और "उपभोग" किया है और इसके साथ काम कर रहे हैं, तो इस दृश्य में कोई अन्य घटनाएं भेजी जाएंगी, इससे कोई फर्क नहीं पड़ता कि आप कहां क्लिक करते हैं।

यदि आप अपने टच लिस्टनर से झूठी वापसी करते हैं (इस प्रकार कह रहे हैं कि घटना का उपभोग नहीं किया जाता है) तो इसे अन्य विचारों पर सौंप दिया जाएगा, लेकिन एक और अलग क्लिक पर नया कार्यक्रम अन्य दृश्य में भेजा जाएगा।

http://www.zdnet.com/blog/burnette/how-to-use-multi-touch-in-android-2-part-3-understanding-touch-events/1775

http://developer.android.com/guide/topics/ui/ui-events.html

+1

मुझे एक ही समस्या है, यानी यदि मैं स्क्रीन पर कहीं भी छूता हूं तो केंद्रित दृश्य स्थानांतरित हो जाता है, क्या आप इससे मेरी सहायता कर सकते हैं? –

10

कम से कम Android 3.0 उन्हें कई दृश्यों के बीच बंटवारे स्पर्श घटनाओं के लिए समर्थन जोड़ता है। जब AndroidManifest <uses-sdk> को परिभाषित करता है या तो android:minSdkVersion="11" या android:targetSdkVersion="11"

स्प्लिट स्पर्श इवेंट डिफ़ॉल्ट रूप से सक्षम है। स्पष्टीकरण के लिए android:splitMotionEvents और android:windowEnableSplitTouch

0

हालांकि यह एंड्रॉइड एसडीके 11+ के साथ स्वचालित रूप से काम करना चाहिए, यह मेरे ऐप के लिए काम नहीं कर रहा था। मैं मुख्य दृश्य में स्पर्शों को पकड़ने की कोशिश कर रहा था, साथ ही कुछ विचार जो मुख्य दृश्य के सबव्यू थे; उस स्थिति में, स्पर्श केवल "स्तर" दृश्य द्वारा कब्जा कर लिया गया था जिसे पहला स्पर्श प्राप्त हुआ था। मैंने अपनी दृश्य संरचना को पुनर्गठित किया ताकि सभी विचार भाई बहनें हों और अब वे अपेक्षित घटनाओं को कैप्चर कर रहे हैं।

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