जब उपयोगकर्ता आपके ऐप्लिकेशन से इंटरैक्ट करते हैं, तो वे अक्सर बिना छुए इनपुट देने वाले तरीकों का इस्तेमाल करते हैं:
- डेस्कटॉप एनवायरमेंट: उपयोगकर्ता, फ़िज़िकल हार्डवेयर कीबोर्ड और ट्रैकपैड की मदद से नेविगेट करते हैं और डेटा डालते हैं.
- Android TV: उपयोगकर्ता, डी-पैड का इस्तेमाल करके इंटरफ़ेस पर नेविगेट करते हैं.
- ऑटोमोटिव: ड्राइवर और यात्री, रोटरी कंट्रोलर का इस्तेमाल करके इंटरैक्ट करते हैं.
- फ़ोल्ड किए जा सकने वाले डिवाइस और टैबलेट: उपयोगकर्ता, कीबोर्ड कवर और बाहरी इनपुट ऐक्सेसरी अटैच करते हैं.
इन सभी स्थितियों में, आपके ऐप्लिकेशन को यह ट्रैक करना होगा कि स्क्रीन पर कौनसी इंटरैक्टिव सुविधा चालू है. इस चालू स्थिति को फ़ोकस कहा जाता है.
कीबोर्ड नेविगेशन को आसान बनाने वाले मुख्य फ़ैक्टर
बड़ी स्क्रीन और बिना टच वाले डिवाइसों पर लोगों को बेहतरीन अनुभव देने के लिए, अपने ऐप्लिकेशन को इन सिद्धांतों के आधार पर डिज़ाइन करें:
- लॉजिकल इनिशियल फ़ोकस: स्क्रीन पर आने के बाद, उपयोगकर्ताओं के जिस एलिमेंट के साथ इंटरैक्ट करने की सबसे ज़्यादा संभावना होती है उस पर इनिशियल फ़ोकस रखें.
- नेविगेशन का एक जैसा क्रम: एक डाइमेंशन (टैब) और दो डाइमेंशन (ऐरो बटन या डी-पैड) वाले फ़ोकस ट्रैवर्सल की सुविधा दें.
- फ़ोकस बनाए रखना: रुकावटों, डायलॉग बॉक्स बंद होने या कॉन्फ़िगरेशन में बदलाव होने के बाद, फ़ोकस को आसानी से पहले जैसा किया जा सकता है.
- फ़ोकस की स्थिति साफ़ तौर पर दिखना: साफ़ तौर पर दिखने वाले और ऐक्सेस किए जा सकने वाले विज़ुअल क्यू (जैसे कि फ़ोकस रिंग या रिपल) दिखाएं. इनसे पता चलता है कि फ़िलहाल किस एलिमेंट पर फ़ोकस है.
- आसानी से स्क्रोल करने की सुविधा: पक्का करें कि फ़ोकस किया गया एलिमेंट और उसके आस-पास का कॉन्टेक्स्ट, दिखने वाले व्यूपोर्ट में आसानी से स्क्रोल हो जाए.
फ़ोकस गाइड
Compose में फ़ोकस को मैनेज करने और उसे पसंद के मुताबिक बनाने का तरीका जानने के लिए, यहां दी गई गाइड देखें:
- फ़ोकस टारगेट: जानें कि इंटरैक्टिव कॉम्पोनेंट, फ़ोकस टारगेट कैसे बनते हैं. साथ ही, कस्टम कंपोज़ेबल को फ़ोकस करने लायक बनाने का तरीका जानें.
- फ़ोकस ट्रैवर्सल का क्रम: 1D में दिखने के क्रम और 2D में स्पेस के हिसाब से नेविगेशन को समझें. साथ ही, ट्रैवर्सल के पाथ को पसंद के मुताबिक बनाने का तरीका जानें.
- टेक्स्ट फ़ील्ड पर फ़ोकस करना: जानें कि एक लाइन और कई लाइनों वाले टेक्स्ट फ़ील्ड, टैब और ऐरो कुंजियों को कैसे हैंडल करते हैं. साथ ही, जानें कि टीवी आईएमई इंटरैक्शन कैसे काम करता है.
- ग्रुप फ़ोकस टारगेट:
focusGroupवाले कॉम्पोनेंट को ग्रुप करें और एंट्री या एग्ज़िट रीडायरेक्शन को इंटरसेप्ट करें. - फ़ोकस वापस लाना: कंटेनर में पहले से चालू बच्चों पर फ़ोकस वापस लाएं, नेविगेशन कॉम्पोनेंट मैनेज करें, और स्क्रीन ट्रांज़िशन के दौरान फ़ोकस मैनेज करें.
- फ़ोकस की स्थिति के बारे में बताना: फ़ोकस किए गए कॉम्पोनेंट को हाइलाइट करने के लिए, विज़ुअल क्यू और कस्टम इंडिकेशन लागू करें.
- फ़ोकस में बदलावों पर प्रतिक्रिया देना:
onFocusChangedका इस्तेमाल करके, फ़ोकस में बदलावों को ट्रैक करें और क्वेरी फ़ोकस की स्थिति की प्रॉपर्टी देखें. - प्रोग्राम के हिसाब से फ़ोकस का अनुरोध करना: उपयोगकर्ता की कार्रवाइयों या पुष्टि करने से जुड़ी गड़बड़ियों के जवाब में, फ़ोकस को साफ़ तौर पर ले जाएं.
- फ़ोकस को हटाना और उसे दूसरी जगह ले जाना: प्रोग्राम के हिसाब से, फ़ोकस को आगे बढ़ाएं या
FocusManagerका इस्तेमाल करके उसे हटाएं. - फ़ोकस कैप्चर और रिलीज़ करना: मोडल सब-इंटरैक्शन के लिए फ़ोकस कैप्चर करें और उसे सुरक्षित तरीके से रिलीज़ करें.
- फ़ोकस नेविगेशन की जांच करना: 1D, 2D, और टेक्स्ट फ़ील्ड के कीबोर्ड इंटरैक्शन की पुष्टि करने के लिए, ऑटोमेटेड Compose टेस्ट लिखें.
आपके लिए सुझाव
- ध्यान दें: JavaScript बंद होने पर लिंक का टेक्स्ट दिखता है
- फ़ोकस टारगेट
- फ़ोकस ट्रैवर्सल ऑर्डर
- टेक्स्ट फ़ील्ड में फ़ोकस करना
- ग्रुप फ़ोकस टारगेट
- फ़ोकस नेविगेशन की जांच करना