Jetpack Compose Glimmer में फ़ोकस करना

एक्सआर की सुविधा वाले डिवाइस
इस गाइड की मदद से, इन तरह के एक्सआर डिवाइसों के लिए अनुभव बनाए जा सकते हैं.
एआई चश्मा

Jetpack Compose Glimmer के सभी कॉम्पोनेंट, स्टैंडर्ड इनपुट तरीकों के साथ काम करने के लिए डिज़ाइन किए गए हैं. जैसे, एआई चश्मे के टचपैड पर टैप करना या स्वाइप करना. साथ ही, ये एआई चश्मे के हार्डवेयर के लिए खास तौर पर तैयार की गई, लोअर-लेवल की इनपुट कमांड को भी स्वीकार करते हैं. Jetpack Compose Glimmer कॉम्पोनेंट, ज़रूरी इनपुट इवेंट को अपने-आप हैंडल करते हैं. कस्टम कॉम्पोनेंट के लिए, Compose के मौजूदा एपीआई का इस्तेमाल किया जा सकता है. जैसे, Modifier.draggable या Modifier.scrollable. इससे इंटरैक्शन के खास व्यवहार लागू किए जा सकते हैं.

डिसप्ले वाले एआई चश्मे पर, पॉइंटर इनपुट से फ़ोकस पर असर पड़ सकता है:

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

उपयोगकर्ता के ऐप्लिकेशन पर नेविगेट करने के दौरान, फ़ोकस के मूवमेंट और क्रम में बदलाव पर ध्यान दें.

फ़ोकस को मूव करना

स्क्रोल किए जा सकने वाले कंटेनर पर, टचपैड पर स्वाइप करने से फ़ोकस लगातार बदलता रहता है. बटन की लाइन जैसे अलग-अलग एलिमेंट के लिए, हर स्वाइप से फ़ोकस एक बार में एक एलिमेंट पर जाता है.

फ़ोकस का क्रम

Jetpack Compose की तरह ही, Jetpack Compose Glimmer में एक डाइमेंशन वाली फ़ोकस सर्च का इस्तेमाल किया जाता है. फ़ोकस ट्रैवर्सल के क्रम के बारे में ज़्यादा जानने के लिए, फ़ोकस ट्रैवर्सल का क्रम बदलना लेख पढ़ें.

शुरुआत में फ़ोकस किए गए आइटम को बदलने के लिए, टॉप-लेवल Modifier.focusGroup() जोड़ें और कस्टम onEnter focusProperty तय करें:

Modifier.focusProperties {
    onEnter = {
        initialFocus.requestFocus()
        cancelFocusChange()
    }
}
.focusGroup()

स्क्रोल करने वाले कंटेनर

उपयोगकर्ताओं को बेहतर अनुभव देने के लिए, स्क्रोल करने वाले कंटेनर, जैसे कि सूचियां, स्क्रीन पर मुख्य कॉम्पोनेंट के तौर पर दिखनी चाहिए. स्क्रोल की जा सकने वाली सूची को सीधे तौर पर अन्य इंटरैक्टिव एलिमेंट के ऊपर या नीचे न रखें. जैसे, बटन. इससे नेविगेशन में भ्रम की स्थिति से बचा जा सकता है. साथ ही, फ़ोकस को आसानी से और अनुमान के मुताबिक मूव किया जा सकता है.

फ़ोकस की डिफ़ॉल्ट स्थितियां

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

पहली इमेज. Jetpack Compose Glimmer में तीन फ़ोकस स्टेट होती हैं. इनमें अंतर करने के लिए, आउटलाइन पर आधारित विज़ुअल फ़ीडबैक का इस्तेमाल किया जाता है.
  • डिफ़ॉल्ट: बटन के बैकग्राउंड का रंग, GlimmerTheme.colors.surface से लिया जाता है. इसका मुख्य कॉन्टेंट, उस सर्फ़ेस के कॉन्टेंट के रंग का हिसाब लगाता है. साथ ही, आइकॉन GlimmerTheme.colors.primary होते हैं.

  • फ़ोकस किया गया: फ़ोकस के बारे में बताने के लिए, बॉर्डर की चौड़ाई बढ़ा दी जाती है.

  • फ़ोकस किया गया + दबाया गया: बैकग्राउंड को पूरी तरह से अपारदर्शी GlimmerTheme.colors.surface पर सेट किया जाता है, ताकि यह पता चल सके कि इसे चुना गया है.