कीबोर्ड नेविगेशन का इस्तेमाल करें

सॉफ़्ट इनपुट तरीकों, जैसे कि ऑन-स्क्रीन कीबोर्ड—Android, डिवाइस से जुड़े फ़िज़िकल कीबोर्ड पर काम करता है. ऐप्लिकेशन कीबोर्ड, टेक्स्ट इनपुट के लिए एक सुविधाजनक मोड है और उपयोगकर्ताओं को नेविगेट और इंटरैक्ट करें. हालांकि, हाथ में पकड़े जाने वाले ज़्यादातर डिवाइस, जैसे कि फ़ोन, इंटरैक्शन के प्राथमिक मोड के रूप में, टैबलेट या इसी तरह के अन्य डिवाइस लोकप्रिय हैं और कई उपयोगकर्ता अपने वीडियो में कीबोर्ड ऐक्सेसरी अटैच करना पसंद करते हैं उन्हें.

Android पर चलने वाले ज़्यादातर डिवाइसों में इस तरह का अनुभव दिया जाता है, इसलिए यह ज़रूरी है जिन्हें कीबोर्ड के ज़रिए इंटरैक्शन में मदद करने के लिए, अपने ऐप्लिकेशन को ऑप्टिमाइज़ किया जाता है. यह दस्तावेज़ में बताया गया है कि कीबोर्ड से नेविगेशन को बेहतर कैसे बनाया जा सकता है.

अपने ऐप्लिकेशन का परीक्षण करें

कीबोर्ड का इस्तेमाल करके, उपयोगकर्ता पहले से ही आपके ऐप्लिकेशन पर नेविगेट कर पाएं, क्योंकि Android सिस्टम, ज़्यादातर ज़रूरी कार्रवाइयों को डिफ़ॉल्ट रूप से चालू करता है.

Android फ़्रेमवर्क के ज़रिए उपलब्ध कराए गए सभी इंटरैक्टिव विजेट—जैसे Button और EditText—हैं फ़ोकस करने लायक. इसका मतलब है कि उपयोगकर्ता, डी-पैड या डी-पैड जैसे कंट्रोल डिवाइसों की मदद से नेविगेट कर सकते हैं और हर विजेट चमकने लगता है या फिर उसके रंग-रूप को बदल देता है इनपुट फ़ोकस हासिल करता है.

अपने ऐप्लिकेशन की जांच करने के लिए, नीचे दी गई प्रक्रिया करें:

  1. अपना ऐप्लिकेशन, ऐसे डिवाइस पर इंस्टॉल करें जो हार्डवेयर कीबोर्ड की सुविधा देता हो.

    अगर आपके पास कीबोर्ड की सुविधा वाला हार्डवेयर डिवाइस नहीं है, तो ब्लूटूथ को कनेक्ट करें कीबोर्ड या यूएसबी कीबोर्ड.

    Android एम्युलेटर का इस्तेमाल भी किया जा सकता है:

    1. एवीडी मैनेजर में जाकर, नया डिवाइस पर क्लिक करें या किसी मौजूदा प्रोफ़ाइल पर जाएं और क्लोन करें पर क्लिक करें.
    2. स्क्रीन पर दिखने वाली विंडो में, पक्का करें कि कीबोर्ड और डीपैड हों चालू किया गया.
  2. अपने ऐप्लिकेशन की जांच करने के लिए, सिर्फ़ Tab बटन का इस्तेमाल करके पिछले पेज पर जाएं यूज़र इंटरफ़ेस (यूआई). पक्का करें कि हर यूज़र इंटरफ़ेस (यूआई) कंट्रोल उम्मीद के मुताबिक फ़ोकस करें.

    ऐसे किसी भी मामले को देखें जिसमें फ़ोकस किसी अनचाही स्थिति से बदल रहा हो तरीका.

  3. अपने ऐप्लिकेशन की शुरुआत से करें और अपने यूज़र इंटरफ़ेस (यूआई) में नेविगेट करें का इस्तेमाल करके दिशा-निर्देश कंट्रोल कर सकते हैं, जैसे कि ऐरो बटन. हर एक कॉलम से अपने यूज़र इंटरफ़ेस (यूआई) में फ़ोकस करने लायक एलिमेंट के लिए, अप, डाउन दबाएं, बायां और दायां.

    ऐसे किसी भी मामले को देखें जिसमें फ़ोकस किसी अनचाही स्थिति से बदल रहा हो तरीका.

अगर आपको Tab बटन का इस्तेमाल करके नेविगेट करने के दौरान कोई गड़बड़ी मिलती है या दिशा नियंत्रण आपकी उम्मीद के मुताबिक काम नहीं करते. यह बताएं कि फ़ोकस किस जगह पर होना चाहिए अपने लेआउट में होनी चाहिए, जैसा कि नीचे दिए गए सेक्शन में बताया गया है.

टैब नेविगेशन मैनेज करना

जब कोई उपयोगकर्ता कीबोर्ड के Tab बटन का इस्तेमाल करके, आपके ऐप्लिकेशन पर नेविगेट करता है, तो सिस्टम, एलिमेंट के बीच इनपुट फ़ोकस को उनके क्रम के आधार पर पास करता है लेआउट में दिखने लगता है. उदाहरण के लिए, मिलते-जुलते लेआउट और ऑर्डर का इस्तेमाल करने पर स्क्रीन पर मौजूद एलिमेंट, फ़ाइल के क्रम से अलग हैं, तो फ़ोकस का क्रम मैन्युअल तरीके से तय करना पड़ सकता है.

उदाहरण के लिए, नीचे दिए गए लेआउट में, दो बटन दाईं ओर अलाइन हैं और एक टेक्स्ट फ़ील्ड को दूसरे बटन की बाईं ओर अलाइन कर दिया जाता है. पास होने के लिए पहले बटन से टेक्स्ट फ़ील्ड पर और फिर दूसरे बटन से, लेआउट को फ़ोकस करने लायक हर सुविधा के लिए, फ़ोकस का क्रम साफ़ तौर पर तय करना होगा एलिमेंट android:nextFocusForward एट्रिब्यूट की वैल्यू सबमिट करें.

<androidx.constraintlayout.widget.ConstraintLayout ...>
    <Button
        android:id="@+id/button1"
        android:nextFocusForward="@+id/editText1"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        ... />
    <Button
        android:id="@+id/button2"
        android:nextFocusForward="@+id/button1"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/button1"
        ... />
    <EditText
        android:id="@id/editText1"
        android:nextFocusForward="@+id/button2"
        app:layout_constraintBottom_toBottomOf="@+id/button2"
        app:layout_constraintRight_toLeftOf="@id/button2
        ...  />
    ...
</androidx.constraintlayout.widget.ConstraintLayout>

अब फ़ोकस button1 से बदल रहा है button2 और फिर editText1 के बाद, यह सही तरीके से मूव करता है स्क्रीन पर दिखाई देने के अनुसार: button1 से editText1 और इसके बाद button2.

दिशा-निर्देश वाले नेविगेशन को मैनेज करना

उपयोगकर्ता, कीबोर्ड पर मौजूद ऐरो बटन का इस्तेमाल करके भी आपके ऐप्लिकेशन को नेविगेट कर सकते हैं. डी-पैड या ट्रैकबॉल के साथ नेविगेट करने पर, ठीक वैसे ही काम करता है. सिस्टम "सबसे अच्छा अनुमान" देता है जिसके लिए दिए गए व्यू पर फ़ोकस करना है व्यू के लेआउट के हिसाब से सही है. हालांकि, कभी-कभी सिस्टम ग़लत अनुमान लगाता है.

यदि सिस्टम दी गई दिशा में, यह तय करें कि किस व्यू को फ़ोकस करना चाहिए. साथ ही, नीचे दी गई बातों की जानकारी दें विशेषताएं:

जब उपयोगकर्ता उस दिशा में नेविगेट करता है, जैसा कि व्यू आईडी में बताया गया है. यह इसमें दिखाया जाता है नीचे दिया गया उदाहरण:

<Button
    android:id="@+id/button1"
    android:nextFocusRight="@+id/button2"
    android:nextFocusDown="@+id/editText1"
    ... />
<Button
    android:id="@id/button2"
    android:nextFocusLeft="@id/button1"
    android:nextFocusDown="@id/editText1"
    ... />
<EditText
    android:id="@id/editText1"
    android:nextFocusUp="@id/button1"
    ...  />

अन्य संसाधन

यहां दिए गए मिलते-जुलते संसाधनों को देखें: