मैं उनके बीच के वास्तविक अंतर को जानना चाहता हूं ... प्रत्येक का उपयोग कब किया जाना चाहिए, प्रत्येक का उपयोग कैसे किया जाना चाहिए, और प्रत्येक स्थिति में कौन से सहायक हैं?
कुछ उदाहरण दें और उन्हें विस्तार से बताएं।
मैं उनके बीच के वास्तविक अंतर को जानना चाहता हूं ... प्रत्येक का उपयोग कब किया जाना चाहिए, प्रत्येक का उपयोग कैसे किया जाना चाहिए, और प्रत्येक स्थिति में कौन से सहायक हैं?
कुछ उदाहरण दें और उन्हें विस्तार से बताएं।
जवाबों:
यह Android डेवलपर्स ब्लॉग में समझाया गया है: http://android-developers.blogspot.co.at/2008/12/touch.mode.html
निम्नलिखित उद्धरण यह स्पष्ट करना चाहिए:
अपने आप से, स्पर्श मोड को समझना बहुत आसान है क्योंकि यह केवल इंगित करता है कि अंतिम उपयोगकर्ता संपर्क टच स्क्रीन के साथ किया गया था या नहीं। उदाहरण के लिए, यदि आप G1 फोन का उपयोग कर रहे हैं, तो ट्रैकबॉल के साथ विजेट का चयन आपको टच मोड से बाहर ले जाएगा;
...
टच मोड में, कोई फोकस नहीं है और कोई चयन नहीं है। ग्रिड की सूची में कोई भी चयनित आइटम जैसे ही उपयोगकर्ता टच मोड में प्रवेश करता है, अचयनित हो जाता है। इसी तरह, उपयोगकर्ता द्वारा टच मोड में प्रवेश करने पर कोई भी केंद्रित विजेट अनफोकस हो जाते हैं।
...
अब जब आप जानते हैं कि फोकस स्पर्श मोड में मौजूद नहीं है, तो मुझे समझाना चाहिए कि यह पूरी तरह से सच नहीं है। फोकस टच मोड में मौजूद हो सकता है लेकिन बहुत ही खास तरीके से हम टच मोड में फोकस करने योग्य कहते हैं। यह विशेष मोड विजेट के लिए बनाया गया था जो टेक्स्ट इनपुट प्राप्त करता है, जैसे कि एडिट टेक्स्ट या, जब फ़िल्टरिंग सक्षम होता है, तो सूची दृश्य।
...
टच मोड में ध्यान देने योग्य एक संपत्ति है जिसे आप खुद को कोड या एक्सएमएल से सेट कर सकते हैं। हालाँकि, इसे बहुत ही विशिष्ट स्थितियों में ही इस्तेमाल किया जाना चाहिए क्योंकि यह एंड्रॉइड के सामान्य व्यवहार के साथ स्थिरता को तोड़ता है। एक गेम एक एप्लिकेशन का एक अच्छा उदाहरण है जो टच मोड प्रॉपर्टी में फ़ोकस करने योग्य का अच्छा उपयोग कर सकता है। मैपव्यू, यदि Google मैप्स की तरह फुलस्क्रीन में उपयोग किया जाता है, तो इसका एक और अच्छा उदाहरण है जहां आप टच मोड में फ़ोकस करने योग्य का सही उपयोग कर सकते हैं।
कुछ उदाहरण दें और उन्हें विस्तार से बताएं
मैं आपको अपना अनुभव दूंगा:
मेरे पास एक Google टीवी एप्लिकेशन था जिसमें ImageButtons का एक बड़ा सौदा था।
मैं चाहता था कि ImageButtons चयन योग्य हो।
इसलिए यदि कोई व्यक्ति उन पर माउस या रिमोट कंट्रोलर से क्लिक करता है, तो वे केवल चुने जाते हैं (मेरे मामले में हाइलाइटेड)। फिर यदि उपयोगकर्ता चयनित को दबाता है ImageButton
, तो कार्रवाई ट्रिगर हो जाती है। यह सटीक व्यवहार focusableInTouchMode
XML लेआउट के माध्यम से संपत्ति को सक्षम करने के माध्यम से प्राप्त किया गया था ।
मुझे बस इतना करना था onClickListener
कि ImageButtons और voila के लिए एक साधारण सेट करना है !
मैंने अपने एप्लिकेशन को हैंडसेट पर चेक नहीं किया है, लेकिन मुझे लगता है कि यह परिचित परिणाम देगा।
कब?
मैंने आपको एक उपयोग किए जाने के मामले के बारे में बताया है जो मैंने परीक्षण किया है: जब आप चाहते हैं कि आपके बटन onClickListener
पर आपके दूसरे क्लिक पर कार्रवाई शुरू हो जाए, तो आपने पहले क्लिक किया और चयनित किया Button
।
मैंने "फोकस" हासिल करने के लिए पहली क्लिक का उपयोग किया और अपने बटन पर ज़ूम-इन स्केल अप एनीमेशन प्रदर्शित किया।
कैसे?
बस बटन के गुण सेट focusableInTouchMode
करने के लिए true
अपने XML लेआउट फ़ाइल में।
फोकस किया गया दृश्य देखने के लिए एक अवस्था है और आम तौर पर ट्रैकबॉल और dpad के साथ फ़ोकस को बदला जा सकता है। राज्य केंद्रित होने पर आपके विचार की अलग पृष्ठभूमि हो सकती है।
टच मोड में फ़ोकस करने योग्य दृश्य को फ़ोकस प्राप्त करने की अनुमति देता है जब उपयोगकर्ता दृश्य को छू रहा है, तो इस तरह के घटक का अच्छा उदाहरण है EditText
।
के साथ Button
या किसी भी क्लिक करने योग्य घटक दबाया हुआ राज्य आमतौर पर आप में रुचि रखते हैं।
उपयोगकर्ता हार्डवेयर कुंजी या बटन का उपयोग करके या स्क्रीन को छूकर अपने उपकरणों के साथ बातचीत कर सकते हैं। स्क्रीन को टच करने से डिवाइस टच मोड में आ जाता है। तब उपयोगकर्ता ऑन-स्क्रीन वर्चुअल बटन, चित्र आदि को छूकर इसके साथ बातचीत कर सकता है।
डिवाइस टच मोड में है या नहीं, यह देखने के लिए, देखें वर्ग की InInTouchMode () विधि को कॉल करें ।