android - Multitouch over multiple views -
(एकल) स्पर्श इशारों के लिए, GestureOverlayView दृश्य है जो अन्य दृश्यों (ग्रिडव्यू, सूचीदृश्य ...) और रिक्त स्थान पर रखा जा सकता है और अभी भी सही ढंग से स्पर्श का पता लगा सकता है।
- मल्टीटाच / ज़ूमआउट) इशारों? खाली गतिविधि स्थान से यह स्केलगेस्टेर डिटेक्टर। सिंपलऑनस्केल गेस्टायर लिस्टनर के साथ किया जा सकता है, लेकिन क्या होगा अगर मैं उदाहरण के लिए इस तरह का संकेत सूची पर उपयोग करना चाहता हूं?
- क्या मुझे प्रत्येक के लिए स्केलगैचर डिटेक्टर को लागू करना है गतिविधि के अंदर स्पष्ट रूप से देखें या क्या ऐसा करने के लिए होशियार तरीके से
/ संपादित करें: अधिक विवरण का थोड़ा सा
अभी मैं ऐसा कर रहा हूं:
// सेटअप श्रोता ओवरले = (इशाराओवरलेव्यूव्यू) ढूंढिए वीवीबीआईआईडी (आरआईड। सीजरऑवरलेव्यू); overlay.setGestureVisible (गलत); overlay.addOnGesturePerformedListener (this);
लेकिन तब जब इशारे का उपयोग करते हुए मैं इशारा करता हूं
सार्वजनिक ऑर्डर पर जेस्टचरप्रोफेर्ड (इशारा ओवरले, हावभाव इशारा)
समस्या यह है कि मेरे पास कच्ची जेस्चर फाइल नहीं है क्योंकि जेस्चर बिल्डर मुझे मल्टीटाच इशारों का निर्माण करने की अनुमति नहीं देता। उल्लेख किए गए मोशन ईवेंट से निपटने को कहां लागू करना है?
क्या मुझे ऐसा कुछ करना चाहिए और फिर जेस्टर ओव्हरलेव्यू। टोंटएवेंट () को ओवरराइड करना चाहिए? (या मैं आपकी बात नहीं देखता क्योंकि आप जेस्टर ओवरलेव्यू के बिना भी ऑन-टच इवेंट का उपयोग कर सकते हैं)
सार्वजनिक बूलियन ऑन टचएवेंट (मोशन एवेन्ट ईव) {ओवरले। टोनटीवईवेंट (ईव); वापस सच; }
// संपादित करें # 2 अंत में, मुझे जेश्वायर ओव्हरले का उपयोग करना नहीं पड़ा, मैंने उन माउसइवेंट्स को सूची व्ही से पकड़ा जो पूरी गतिविधि को भरता है वैसे भी जब आपके पास मोशन एवेंट होते हैं, तो आपको अपने खुद के मल्टीटीच इशारों को परिभाषित नहीं करना पड़ता है, इसके बजाय आप ScaleGestureDetector.SimpleOnScaleGestureListener इस तरह की घटनाओं के संसाधन के लिए उपयोग कर सकते हैं।
हावभाव ओवरव्यू दृश्य आपको जेस्चरऑवरलेव्यू.ऑनगेस्टेरिलिस्टर प्रकार के श्रोता सेट करने देता है। इस इंटरफ़ेस में मौजूद विधियां कच्चे मोशनइवेंट एस पारित की जाती हैं कि जेस्चरओवरलेव्यू प्राप्त हो रही है।
इन घटनाओं से आवश्यक कोई इशारा खोजना संभव है , यहां तक कि multitouch।
संपादित करें:
ओवरले का उपयोग करने के बजाय। AddOnGesturePerformedListener (यह);
आप
ओवरले का उपयोग करेंगे। AddGnestureListener (यह);
यह आपको कच्चे मोशन ईवेंट एस देगा जो किसी भी मल्टीटाच इशारों को निर्धारित करने के लिए उपयोग किया जा सकता है। वहां से आपको छूने के अपने खुद के नज़र रखने की ज़रूरत होगी और जब एक मल्टीटाच संकेत हो रहा है और कितना आंदोलन हो रहा है (मुझे यकीन है कि ज़ूम करने के लिए चुटकी के लिए बहुत सारे नमूना कोड स्निपेट हैं)
बेशक कोई कारण नहीं है कि आप केवल अपना खुद का व्यू क्लास नहीं लिख सकते जो कि जेस्चर ओवरलेव दृश्य को केवल मल्टीटाच इशारों के साथ ही किया था, लेकिन अगर आप अभी भी एक स्पर्श इशारा व्यवहार प्रदान करना चाहते हैं GestureOverlayView तब यह विधि आपको बस आपको आवश्यक मल्टीटाच समर्थन को जोड़ने की अनुमति देगा।
Comments
Post a Comment