2012-02-03 14 views
69

के बीच अंतर OnTouchListener और OnClickListener के बीच कोई अंतर है? मैं प्रोग्रामिंग दृष्टिकोण से नहीं पूछ रहा हूं, लेकिन उपयोगकर्ता अनुभव बिंदु से।ऑन टच और ऑनक्लिक एंड्रॉइड

कौन सा उपयोग करने के लिए बेहतर है?

क्या हमें दोनों को लागू करने की आवश्यकता है?

उत्तर

81

कौन सा उपयोग करने के लिए बेहतर है?

यह वास्तव में आपकी आवश्यकता पर निर्भर करता है। ऑन टच आपको मोशन इवेंट देता है। इस प्रकार, आप बहुत सारी फैंसी चीजें कर सकते हैं क्योंकि यह आपको आंदोलन की स्थिति को अलग करने में मदद करता है। बस कुछ ही

  • ACTION_UP
  • ACTION_DOWN
  • ACTION_MOVE

उन सामान्य क्रियाओं हम आम तौर पर इस तरह के स्क्रीन पर देखने को खींच के रूप में इच्छा परिणाम प्राप्त करने को लागू कर रहे हैं नाम है।

दूसरी ओर, ऑनक्लिक आपको बहुत कुछ नहीं देता है, सिवाय इसके कि उपयोगकर्ता किस इंटरैक्ट करता है। ऑनक्लिक एक पूर्ण घटना है जिसमें फोकस करना, दबाना और रिलीज़ करना शामिल है। तो, आप पर थोड़ा नियंत्रण है। एक तरफ यह लागू करना बहुत आसान है।

क्या हमें दोनों को लागू करने की आवश्यकता है?

जब तक आप अपने उपयोगकर्ता के साथ गड़बड़ नहीं करना चाहते हैं तब तक यह आवश्यक नहीं है।यदि आप बस सरल क्लिक ईवेंट चाहते हैं, तो ऑनक्लिक पर जाएं। यदि आप क्लिक से अधिक चाहते हैं, तो टच पर जाएं। दोनों करना प्रक्रिया को जटिल करेगा।

उपयोगकर्ता के दृष्टिकोण से, यदि आप ऑनक्लिक पर दिखने के लिए ध्यान से टच सावधानीपूर्वक लागू करते हैं तो यह अनजान है।

+2

यदि आपको कुछ नियंत्रण की आवश्यकता है तो टच पर जाएं। क्लिक के अधिकांश मामलों के लिए क्लिक करेंगे। पीएच 7 का जवाब देखें। – drulabs

+0

मैं अभी भी यह पता लगाने की कोशिश कर रहा हूं कि किस का उपयोग करना है। अगर मेरे पास 4 विचार हैं, जिनमें से 3 को एक क्लिक और स्वाइप दोनों की आवश्यकता होती है जबकि चौथाई केवल एक क्लिक होता है। मुझे पता है कि मैं टच पर केवल क्लिक के रूप में उपयोग कर सकता हूं या पहले 3 विचारों के लिए स्वाइप कर सकता हूं लेकिन चौथाई के बारे में क्या? क्या मुझे एक दृश्य के लिए क्लिक पर क्लिक करना चाहिए या केवल टच पर उपयोग करना चाहिए क्योंकि इसे पहले से ही बुलाया गया है ..? – cjayem13

+0

ध्यान दिया जाना चाहिए कि कुछ परिणामों को प्राप्त करने के लिए टच पर उपयोग करना आवश्यक हो सकता है, जिस स्थिति में उपयोगकर्ता का दृष्टिकोण शापित हो। एफई, यदि आप सॉफ्ट कीबोर्ड को दिखने से अवरुद्ध करना चाहते हैं, तो आप अपना खुद का प्रदान कर सकते हैं, यह टच के माध्यम से होना चाहिए। टीआईएल ऑनक्लिक यह नहीं करेगा। – ChiefTwoPencils

19

कोई "टच" ईवेंट तब होता है जब कोई स्क्रीन पर अपनी उंगली डालता है। यह उंगली, नीचे, खींचें, और ऊपर के पूरे आंदोलन में बुलाया जाता है। एक "क्लिक" स्क्रीन से भी नहीं आती है। यह एंटर कुंजी दबाकर कोई हो सकता है।

जब आप स्क्रीन पर किसी की उंगली से ईवेंट प्राप्त करना चाहते हैं तो OnTouchListener का उपयोग करें।

जब आप क्लिक का पता लगाना चाहते हैं तो OnClickListener का उपयोग करें।

+0

पर स्पर्श/स्वाइप नहीं कर पाएंगे, मैंने बटन के लिए स्पर्श ईवेंट का उपयोग करके कुछ डेवलपर देखा है, इसके लिए क्या कारण होगा? मैंने फोन पर परीक्षण नहीं किया है, लेकिन क्या कोई प्रदर्शन सुधार है? –

+0

@NixitPatel उनके स्रोत को देखे बिना दिमाग में कोई अच्छा कारण नहीं आता है। –

+0

सच है, लेकिन अब मुझे तुम्हारा जवाब मिला ... आप लोगों और कुछ कण दृष्टिकोण की मदद से। चिंता करने की कोई ज़रूरत नहीं है, –

7
  • onClickListener जब भी किसी भी दृश्य के लिए एक क्लिक करें घटना उठाया है प्रयोग किया जाता है, उदाहरण के लिए कहते हैं: बटन के लिए ईवेंट क्लिक करें, ImageButton।

  • onTouchListener का उपयोग तब भी किया जाता है जब आप टच प्रकार की कार्यक्षमता को कार्यान्वित करना चाहते हैं, उदाहरण के लिए कहें कि यदि आप स्क्रीन के समन्वय प्राप्त करना चाहते हैं जहां आप बिल्कुल स्पर्श करते हैं।

दोनों के लिए आधिकारिक दस्तावेज़, परिभाषा से

हैं:

  • onClickListner: जब एक दृश्य क्लिक किया जाता है एक कॉलबैक के लिए इंटरफ़ेस परिभाषा लागू किया जा करने के लिए।
  • onTouchListener: इस दृश्य को स्पर्श ईवेंट भेजे जाने पर कॉलबैक के लिए इंटरफेस परिभाषा लागू की जाएगी। टच इवेंट को देखने के पहले कॉलबैक लागू किया जाएगा।
+1

पूछने के लिए धन्यवाद मैंने बटन के लिए टच इवेंट का उपयोग करके कुछ डेवलपर को देखा है इसके लिए क्या कारण होगा? मैंने फोन पर परीक्षण नहीं किया है, लेकिन क्या कोई प्रदर्शन सुधार है? –

7

ऑनक्लिक घटनाओं पर ऑनचच घटनाओं का उपयोग करने का एक अच्छा कारण उपयोगकर्ता क्लिक पर तेज प्रतिक्रिया प्राप्त करना है। जहां ऑनक्लिक घटना को प्रतिक्रिया में देरी और आवश्यक कार्रवाई के साथ आगे बढ़ने में देरी होती है। उच्च प्रदर्शन मोबाइल वेब ऐप्स देने के लिए ऑनचच इवेंट बेहतर हैं।

0

OnClickListener - एक मूल उद्देश्य, के लिए प्रयोग किया जाता है जब हम बस एक क्लिक एक उपयोगकर्ता यानी से, एक बटन क्लिक की जरूरत है, कोई खींचें या स्क्रीन

OnTouchListener पर इशारों मूल रूप से एक अधिक फ़ाइन-ट्यून नियंत्रण है OnClickListener। यह स्क्रीन पर एक प्रेस/रिलीज पर निष्पादन और क्रिया करता है, यह उपयोगकर्ता को

2

पर टच पर उपयोग करने के लिए पसंद करते हैं, जो चाल, डाउन-टच, अप-टच, उंगली ड्रैग या किसी भी आंदोलन इशारा के संयोजन के साथ उपयोगकर्ता को अनुमति देता है। आपको एक उदाहरण दें: जब आपके पास व्यूपेजर और टेक्स्टव्यू है। यदि आप टेक्स्ट व्यू पर setOnClickListener को कार्यान्वित करते हैं, तो आप ViewVager को स्वाइप करने में सक्षम नहीं होंगे जब आप TextView

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