2011-04-12 13 views
5

मेरे पास एक ऐसा एप्लिकेशन है जो एक गतिविधि को लोड करने वाले विभिन्न टैब के साथ एक टैब गतिविधि है। मैं टैब्स के बीच स्विच करने के लिए स्वाइप जेश्चरिंग जोड़ना चाहता हूं, दोनों टैब नियंत्रण पर और टैब में लोड की गई प्रत्येक गतिविधि पर। क्या ऐसा कुछ संभव है? मुझे यकीन नहीं है कि जब आप टैब नियंत्रण में होस्ट की गई गतिविधि पर इशारा करते हैं, या यदि आंतरिक गतिविधियों को टैब होस्ट में डेटा पास करना होगा, तो इशारा "गहराई" की बात सुनी जाती है।टैब चयन स्विच करने के लिए स्वाइप करें

उत्तर

3

यह निश्चित रूप से संभव है; बच्चों के माध्यम से इशारा भेजने के लिए आपको एक कस्टम लेआउट लिखना होगा और onTouchEvent और onInterceptTouchEvent ओवरराइड करना होगा। HorizontalPager का स्रोत देखें कि आप ऐसा करने के बारे में कैसे जा सकते हैं। आप वास्तव में केवल क्षैतिज पेजर का उपयोग करना चाहते हैं (इसके साथ टैब सिमुलेट करने पर एक डेमो है), क्योंकि मुझे लगता है कि स्क्रॉलिंग सामग्री यह स्पष्ट करती है कि आप टैब के बीच स्वाइप कर सकते हैं।

2

आप एक इशारा डिटेक्टर का उपयोग कर सकते हैं। जहां तक ​​मुझे पता है कि यह "वैश्विक रूप से" संकेतों को सुनता है। इसे टैब पर प्रतिबंधित करने के लिए आप जांच सकते हैं कि टैब की सीमाओं के अंदर इशारा हुआ है या नहीं।

GestureDetector

विभिन्न इशारों और घटनाओं आपूर्ति MotionEvents का उपयोग कर पता लगाता है। GestureDetector.OnGestureListener कॉलबैक उपयोगकर्ताओं को सूचित करेगा जब विशेष गति घटना हुई है। इस कक्षा का उपयोग केवल के साथ किया जाना चाहिए मोशनएवेंट्स स्पर्श के माध्यम से रिपोर्ट की गई ( ट्रैकबॉल घटनाओं के लिए उपयोग न करें)। इस वर्ग का उपयोग करें:

  • विधि nTouchEvent (MotionEvent) में अपने दृश्य के लिए GestureDetector का एक उदाहरण बना सुनिश्चित करें कि आप
  • onTouchEvent (MotionEvent) कहते हैं। तरीकों अपने कॉलबैक में परिभाषित क्रियान्वित किया जा होगा ईवेंट होने

स्रोत: http://developer.android.com/reference/android/view/GestureDetector.html

स्वाइप जेस्चर

यह पृष्ठ GestureDetector का उपयोग कर एक कड़ी चोट-इशारा पहचान करने के लिए कैसे पता चलता है: http://smartandroidians.blogspot.com/2010/04/swipe-action-and-viewflipper-in-android.html

+0

यह जेस्चरडेक्टर पर उपयोगी जानकारी है, लेकिन मुझे अभी भी यकीन नहीं है कि इशारा पहचान प्रवाह कैसे प्राप्त करें टैब में होस्ट की गई गतिविधियों के माध्यम से। इशारा डिटेक्टर केवल उस स्थान पर कार्य करता है जो किसी टैब में किसी गतिविधि द्वारा नहीं लेता है। –

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