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

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

  • ऐप्लिकेशन के कॉन्टेंट को किनारे से किनारे तक बड़ा करें.
  • एक जैसे जेस्चर वाले ऐप्लिकेशन को मैनेज करना.

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

ऐप्लिकेशन का कॉन्टेंट किनारों तक दिखाना

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

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

ऐप्लिकेशन के एक जैसे जेस्चर को मैनेज करना

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

पीछे जाने के जेस्चर से मेल नहीं खाता

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

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

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 डिवाइसों के लिए, अनुमानित बैक जेस्चर की सुविधा जोड़ी गई है. अनुमानित बैक जेस्चर की सुविधा, कई सालों में रिलीज़ होने वाली सुविधाओं का हिस्सा है. पूरी तरह से लागू होने पर, यह सुविधा उपयोगकर्ताओं को, वापस जाने के जेस्चर को पूरा करने से पहले, डेस्टिनेशन या अन्य नतीजे की झलक दिखाती है. इससे वे यह तय कर पाते हैं कि उन्हें मौजूदा व्यू में बने रहें या नहीं.

ज़्यादा जानकारी के लिए, 'वापस जाएं' जेस्चर के लिए अनुमानित कार्रवाई जोड़ना लेख पढ़ें.

अन्य संसाधन

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

ब्लॉग पोस्ट

वीडियो