पक्का करना कि जेस्चर वाले नेविगेशन के साथ काम करता हो

Android 10 (एपीआई लेवल 29) से, Android सिस्टम में पूरी तरह से जेस्चर पर आधारित नेविगेशन की सुविधा उपलब्ध है. ऐप्लिकेशन डेवलपर को यह पक्का करने के लिए दो काम करने होंगे कि उनके ऐप्लिकेशन इस सुविधा के साथ काम करते हों:

  • ऐप्लिकेशन के कॉन्टेंट को एक किनारे से दूसरे किनारे तक फैलाएं.
  • ऐप्लिकेशन के जेस्चर से जुड़ी समस्याओं को ठीक करना.

इसके अलावा, Android 13 (एपीआई लेवल 33) में Android डिवाइसों के लिए, बैक जेस्चर का अनुमान लगाने की सुविधा पेश की गई है. जैसे, फ़ोन, बड़ी स्क्रीन वाले डिवाइस, और फ़ोल्ड किए जा सकने वाले डिवाइस. यह सुविधा, कई सालों तक रिलीज़ होने वाली सुविधाओं का हिस्सा है. ऐप्लिकेशन डेवलपर यह पक्का करने के लिए ज़रूरी कदम उठा सकते हैं कि उनके ऐप्लिकेशन में पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर की सुविधा काम करे.

ऐप्लिकेशन का कॉन्टेंट, किनारे से किनारे तक उपलब्ध कराएं

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

ज़्यादा जानकारी के लिए, अपने ऐप्लिकेशन में कॉन्टेंट को एज-टू-एज डिसप्ले करना लेख पढ़ें.

ऐप्लिकेशन के जेस्चर से जुड़ी गड़बड़ियों को ठीक करना

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

इससे पीछे जाने के जेस्चर में समस्याएं आती हैं

वापस जाने के लिए, सिस्टम के नए जेस्चर का इस्तेमाल करें. इसके लिए, स्क्रीन के बाएं या दाएं किनारे से अंदर की ओर स्वाइप करें. इससे उन इलाकों में ऐप्लिकेशन के नेविगेशन एलिमेंट में रुकावट आ सकती है. स्क्रीन के बाएं और दाएं किनारों पर मौजूद एलिमेंट की सुविधा को बनाए रखने के लिए, वापस जाने के लिए किए जाने वाले जेस्चर की सुविधा से चुनिंदा तौर पर ऑप्ट आउट करें. इसके लिए, सिस्टम को यह बताएं कि किन क्षेत्रों में टच इनपुट मिलना चाहिए. इसके लिए, Android 10 में लॉन्च किए गए View.setSystemGestureExclusionRects() एपीआई को List<Rect> पास करें. यह तरीका ViewCompat में भी उपलब्ध है. यह androidx.core:core:1.1.0-dev01 से लागू है.

उदाहरण के लिए:

Kotlin

var exclusionRects = listOf(rect1, rect2, rect3)

fun onLayout(
        changedCanvas: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
  // Update rect bounds and the exclusionRects list
  setSystemGestureExclusionRects(exclusionRects)
}

fun onDraw(canvas: Canvas) {
  // Update rect bounds and the exclusionRects list
  setSystemGestureExclusionRects(exclusionRects)
}

Java

List<Rect> exclusionRects;

public void onLayout(
        boolean changedCanvas, int left, int top, int right, int bottom) {
    // Update rect bounds and the exclusionRects list
    setSystemGestureExclusionRects(exclusionRects);
}

public void onDraw(Canvas canvas) {
    // Update rect bounds and the exclusionRects list
    setSystemGestureExclusionRects(exclusionRects);
}

होम या क्विक-स्विच जेस्चर के साथ टकराव

होम स्क्रीन पर जाने और एक ऐप्लिकेशन से दूसरे पर तुरंत स्विच करने के लिए, नए सिस्टम जेस्चर का इस्तेमाल किया जा सकता है. इसके लिए, स्क्रीन के सबसे नीचे उस जगह पर स्वाइप करना होगा जहां पहले नेविगेशन बार होता था. ऐप्लिकेशन, इन जेस्चर से ऑप्ट आउट नहीं कर सकते. हालांकि, वे पीछे जाने के जेस्चर से ऑप्ट आउट कर सकते हैं.

इस समस्या को कम करने के लिए, Android 10 में WindowInsets.getMandatorySystemGestureInsets() एपीआई लॉन्च किया गया है. यह एपीआई, ऐप्लिकेशन को टच पहचानने की थ्रेशोल्ड वैल्यू के बारे में बताता है.

गेम और अन्य ऐप्लिकेशन जो View नहीं हैं

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

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

पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर की सुविधा के लिए, ऐप्लिकेशन को अपडेट करना

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

ज़्यादा जानकारी के लिए, पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर की सुविधा जोड़ना लेख पढ़ें.

अन्य संसाधन

जेस्चर वाले नेविगेशन के बारे में ज़्यादा जानने के लिए, यह लेख पढ़ें:

ब्लॉग पोस्ट

वीडियो