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

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

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()
        // Prevent focus from exiting the group
        cancelFocusChange()
    }
}
.focusGroup()

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

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

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

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

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

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

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