2011-03-26 10 views
10

मेरा पहला कार्यक्रम करने के लिए इस "इशारा" समारोह जोड़ने की कोशिश कर रहा था, और लगभग हर खोज मैंने किया था इस सूत्र के लिए आया था:एंड्रॉइड - बाएं स्वाइप करें | दाएं। इशारा पता लगाने

Fling gesture detection on grid layout

मैं यह काम कर रहा प्राप्त करने में सक्षम था .. लेकिन में मेरी मामला, मुझे यकीन नहीं है कि यह 100% सही है या नहीं।

मेरी लेआउट में, मैं 3 क्षैतिज linearLayouts है, हर एक को 5 बटन .. तो यह .. 5 बटनों में से 3 कॉलम है धागा मैं करना पड़ा के अनुसार:

"करने के लिए अपने इशारे श्रोता संलग्न सभी मुख्य लेआउट में जोड़े गए विचार; "

सभी 15 बटन के लिए इसका मतलब है कि:

"button.setOnTouchListener (gestureListener);"

क्या मैं बस इतना नहीं कह सकता कि बटन के साथ लाइनरलाइट्स स्वाइप जेश्चर के लिए देख रहे हैं? या क्योंकि वे बटन के पीछे "छुपा" हैं, यह नहीं किया जा सकता है?

क्योंकि मैं एक और लेआउट मैं इस के साथ लागू करना चाहते हैं, और यह और भी अधिक बटन ..

तो .. सिर्फ दाएं स्वाइप करें और के लिए मेरी स्क्रीन पर पता लगाने के लिए सरल तरीका की तलाश में | छोड़ दिया .. यदि यह मौजूद है ..

आप पहले से धन्यवाद

उत्तर

15

मैं सिर्फ इतना कहना नहीं किया जा सका है कि बटन के साथ LinearLayouts कड़ी चोट के लिए इशारों बाहर देख होते हैं? या क्योंकि वे बटन के पीछे "छिपा" हैं, यह नहीं किया जा सकता है?

मुझे लगता है कि जब तक आप सभी दृश्य वस्तुओं पर स्वाइप का पता नहीं लगाते हैं तो ठीक उसी समस्या का सामना करना पड़ता है।

स्क्रीन पर अधिक बटन (या अन्य विजेट), जब उपयोगकर्ता स्वाइप इशारा शुरू/समाप्त करते हैं तो अधिक सटीक उपयोगकर्ता को होना चाहिए - दूसरे शब्दों में उन्हें आपके बीच अंतराल में दोनों को शुरू/समाप्त करना होगा बटन।

एक स्वाइप का पता लगाने के लिए प्रारंभ और अंत स्थानों की आवश्यकता होती है - यदि उपयोगकर्ता बटन पर शुरू होता है और समाप्त होता है (जो स्वाइप के लिए नहीं सुन रहा है) तो एक स्वाइप नहीं मिलेगा। इसी प्रकार, एक बटन से शुरू होने और 'अंतराल' (या इसके विपरीत) में समाप्त होने पर वैध स्वाइप का पता नहीं लगाया जाएगा क्योंकि प्रारंभ/समाप्ति बिंदुओं में से केवल एक 'स्वाइप पहचान' के लिए मान्य है।

सबसे अच्छा तरीका मैं सोच सकता हूं (हालांकि मैंने कभी कोशिश नहीं की है) एक जेस्चरऑवरले व्यू का उपयोग करना है। यह आपको अपने पृष्ठभूमि दृश्यों के शीर्ष पर पारदर्शी ओवरले रखने की अनुमति देता है और आपके अंतर्निहित विचारों के बिना जेश्चर के बारे में जानने की आवश्यकता के बिना 'स्वाइप' जैसी चीज़ों का पता लगाने के लिए उपयोग किया जा सकता है।

डेवलपर्स संसाधनों Gestures

+0

हैलो .. बेहतरीन उत्तर में देखें .. पूरी तरह से यह मेरे लिए स्पष्ट कर दिया! जल्द ही GEstureOverlayView को देखना होगा .. धन्यवाद। – cornelyus

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

  • कोई संबंधित समस्या नहीं^_^