मैंने यह समझने की कोशिश की कि एंड्रॉइड हैंडल टच इवेंट कैसे और थोड़ा उलझन में आया। जो मैं समझता हूं उससे टच इवेंट रूट व्यू पर भेजता है और बच्चों को पास करता है। मेरे पास FrameLayout
है जो Fragment
के लिए एक कंटेनर है। पहला खंड दृश्य ScrollView
है, दूसरा एक Gallery
(क्षैतिज लिस्ट व्यू) है और अंतिम वाला भी FrameLayout
है। प्रत्येक बार लेआउट में केवल एक टुकड़ा। ऐप उपयोग के लिए, मैं स्क्रीन पर उपयोगकर्ता स्वाइप की पहचान करना चाहता हूं। मैं स्वाइपों की गिनती करना चाहता हूं और कुछ स्वाइप के बाद कुछ करना चाहता हूं।पैरेंट पर टच इवेंट को पकड़ें, इसे संभालें और बच्चों को पास करें
मैं शीर्ष FrameLayout
पर एक OnTouchListener
डालने की कोशिश की, लेकिन जब बच्चे ScrollView
या Gallery
है यह कहा जाता है प्राप्त करता है। मैंने के अंत में false
और true
वापस करने का प्रयास किया, लेकिन मुझे एक ही परिणाम मिल गया - इसे कभी भी नहीं कहा जा रहा है।
मैं यह कैसे कर सकता हूं? मैं सिर्फ "पारदर्शी रूप से" स्पर्श घटनाओं को संभालना चाहता हूं और उन्हें पास करना चाहता हूं जैसे मैंने उन्हें स्पर्श भी नहीं किया।
यह काम किया! मैंने 'फ्रेमलाउट' बढ़ाया है, जिस विधि का आपने उल्लेख किया है, उसे ओवरराइड किया है, और 'मोशनवेन्ट' को 'जेस्चरडेक्टर' में भेजा है। यह सब विषय थोड़ा उलझन में है। धन्यवाद! – Elad92
@ Elad92 जैसा आपने बताया है, क्या आप इस 2 डी स्क्रॉल कोड को बदलने में मेरी मदद कर सकते हैं? https://gist.github.com/LOG-TAG/0505eedccef9e00821da एक GestureDetector_ –
पर मोशनएवेंट को _send करने के तरीके को नहीं मिला, इस http://stackoverflow.com/questions/26354263/catch-ontouch- ईवेंट-बाय-कस्टम-2 डी-स्क्रॉलव्यू-पैरेंट-हैंडल-इट-एंड-पास-टू-चाइल्डर –