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() एपीआई को शामिल किया गया है. यह एपीआई, ऐप्लिकेशन को टच की पहचान करने की थ्रेशोल्ड की जानकारी देता है.
गेम और अन्य नॉन-व्यू ऐप्लिकेशन
गेम और अन्य ऐप्लिकेशन में व्यू हैरारकी (व्यू और व्यू ग्रुप के लेआउट का क्रम) नहीं होती. इसलिए, उपयोगकर्ता को सिस्टम जेस्चर वाले हिस्सों के आस-पास स्वाइप करना पड़ता है. ऐसे मामलों में, गेम Window.setSystemGestureExclusionRects() का इस्तेमाल करके, उन हिस्सों को बाहर रख सकते हैं जो सिस्टम जेस्चर के लिए रिज़र्व किए गए हिस्सों के साथ ओवरलैप होते हैं. गेम को यह पक्का करना चाहिए कि इन हिस्सों को सिर्फ़ ज़रूरत पड़ने पर ही हटाया जाए. जैसे, गेमप्ले के दौरान.
अगर किसी गेम में उपयोगकर्ता को होम जेस्चर वाले हिस्से के आस-पास स्वाइप करना ज़रूरी है, तो ऐप्लिकेशन को इमर्सिव मोड में लेआउट करने का अनुरोध किया जा सकता है. इससे, उपयोगकर्ता के गेम खेलने के दौरान सिस्टम जेस्चर बंद हो जाते हैं. हालांकि, उपयोगकर्ता स्क्रीन पर सबसे नीचे से स्वाइप करके, सिस्टम जेस्चर को फिर से चालू कर सकता है.
पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर की सुविधा के लिए, ऐप्लिकेशन को अपडेट करना
Android 13 (एपीआई लेवल 33) में, Android डिवाइसों के लिए पीछे जाने पर झलक दिखाने वाला हाथ का जेस्चर उपलब्ध कराया गया है. जैसे, फ़ोन, बड़ी स्क्रीन वाले डिवाइस, और फ़ोल्ड किए जा सकने वाले डिवाइस. पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर की सुविधा को कई सालों में रिलीज़ किया जाएगा. इस सुविधा के पूरी तरह लागू होने पर, उपयोगकर्ता 'वापस जाएं' जेस्चर को पूरा करने से पहले, डेस्टिनेशन या अन्य नतीजे की झलक देख सकते हैं. इससे उन्हें यह तय करने में मदद मिलती है कि उन्हें मौजूदा व्यू में बने रहना है या नहीं.
ज़्यादा जानकारी के लिए, पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर की सुविधा जोड़ना लेख पढ़ें.
अन्य संसाधन
जेस्चर वाले नेविगेशन के बारे में ज़्यादा जानने के लिए, यह लेख पढ़ें: