प्रिडिक्टिव बैक और सिस्टम ऐनिमेशन की सुविधा, डिफ़ॉल्ट रूप से चालू होती है. अगर आपका ऐप्लिकेशन, बैक इवेंट को इंटरसेप्ट करता है और आपने अनुमानित बैक नेविगेशन पर माइग्रेट नहीं किया है, तो बैक नेविगेशन के लिए काम करने वाले एपीआई का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन को अपडेट करें
सिस्टम के डिफ़ॉल्ट ऐनिमेशन चालू करना
होम पेज पर वापस जाने, ऐप्लिकेशन में मौजूद अलग-अलग गतिविधि देखने, और अलग-अलग ऐप्लिकेशन पर काम करने से जुड़े सिस्टम ऐनिमेशन, Android 15 और इसके बाद के वर्शन वाले डिवाइसों पर उपलब्ध हैं. ये ऐनिमेशन उन ऐप्लिकेशन के लिए उपलब्ध हैं जिन्होंने पीछे जाने की सुविधा के लिए उपलब्ध एपीआई पर माइग्रेट किया है.
- होम स्क्रीन पर वापस जाएं: इससे उपयोगकर्ता को होम स्क्रीन पर वापस ले जाया जाता है.
- क्रॉस-ऐक्टिविटी: ऐप्लिकेशन में एक ऐक्टिविटी से दूसरी ऐक्टिविटी पर ट्रांज़िशन.
- अलग-अलग काम: टास्क के बीच ट्रांज़िशन.
ये ऐनिमेशन, Android 15 और इसके बाद के वर्शन पर डिफ़ॉल्ट रूप से चालू होते हैं. Android 13 या 14 पर काम करने वाले डिवाइसों पर, उपयोगकर्ता इन्हें डेवलपर के लिए बनी सेटिंग और टूल के ज़रिए चालू कर सकते हैं.
सिस्टम ऐनिमेशन पाने के लिए, AndroidX Activity डिपेंडेंसी को 1.6.0 या इसके बाद के वर्शन पर अपडेट करें.
Navigation Compose के साथ प्रिडिक्टिव बैक की सुविधा चालू करना
Navigation Compose में पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर के ऐनिमेशन की सुविधा का इस्तेमाल करने के लिए, पक्का करें कि navigation-compose 2.8.0 या इसके बाद के वर्शन वाली लाइब्रेरी का इस्तेमाल किया जा रहा हो.
जब उपयोगकर्ता वापस स्वाइप करता है, तो Navigation Compose, स्क्रीन के बीच अपने-आप क्रॉस-फ़ेड हो जाता है:
नेविगेट करते समय, popEnterTransition और popExitTransition की मदद से, अपनी पसंद के मुताबिक ट्रांज़िशन बनाए जा सकते हैं. इन मॉडिफ़ायर को NavHost पर लागू करने से, यह तय किया जा सकता है कि एंटर और एक्ज़िट स्क्रीन कैसे ऐनिमेट होंगी. इनका इस्तेमाल अलग-अलग तरह के इफ़ेक्ट बनाने के लिए किया जा सकता है. जैसे, स्केल करना, फ़ेड करना या स्लाइड करना.
इस उदाहरण में, scaleOut का इस्तेमाल popExitTransition में किया गया है, ताकि जब उपयोगकर्ता वापस जाए, तो स्क्रीन का साइज़ कम हो जाए. इसके अलावा, transformOrigin पैरामीटर से यह तय होता है कि किस पॉइंट के आस-पास स्केलिंग ऐनिमेशन होता है. डिफ़ॉल्ट रूप से, यह स्क्रीन का सेंटर (0.5f, 0.5f) होता है.
इस वैल्यू में बदलाव करके, स्केलिंग को किसी दूसरे पॉइंट से शुरू किया जा सकता है.
NavHost( navController = navController, startDestination = Home, popExitTransition = { scaleOut( targetScale = 0.9f, transformOrigin = TransformOrigin(pivotFractionX = 0.5f, pivotFractionY = 0.5f) ) }, popEnterTransition = { EnterTransition.None }, modifier = modifier, )
इस कोड से यह नतीजा मिलता है:
popEnterTransition और popExitTransition, खास तौर पर बैक स्टैक को पॉप करते समय ऐनिमेशन को कंट्रोल करते हैं. जैसे, पीछे जाने का जेस्चर. enterTransition और exitTransition का इस्तेमाल, सामान्य तौर पर कंपोज़ेबल में एंट्री और एग्ज़िट के लिए ऐनिमेशन तय करने के लिए भी किया जा सकता है. इनका इस्तेमाल सिर्फ़ अनुमानित बैक के लिए नहीं किया जाता. अगर आपने सिर्फ़ enterTransition और exitTransition सेट किए हैं, तो इनका इस्तेमाल सामान्य नेविगेशन और पिछली ऐक्टिविटी को मैनेज करने, दोनों के लिए किया जाता है. हालांकि, popEnterTransition और popExitTransition का इस्तेमाल करके, वापस जाने के लिए अलग-अलग ऐनिमेशन बनाए जा सकते हैं.
शेयर किए गए एलिमेंट के ट्रांज़िशन के साथ इंटिग्रेट करना
शेयर्ड एलिमेंट ट्रांज़िशन, एक जैसा कॉन्टेंट शेयर करने वाले कंपोज़ेबल के बीच एक जैसा विज़ुअल कनेक्शन उपलब्ध कराते हैं. इनका इस्तेमाल अक्सर नेविगेशन के लिए किया जाता है.
Navigation Compose के साथ शेयर किए गए एलिमेंट इस्तेमाल करने के लिए, शेयर किए गए एलिमेंट के साथ पीछे जाने पर झलक दिखाने वाला हाथ का जेस्चर देखें.
Material Compose कॉम्पोनेंट के साथ, पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर की सुविधा जोड़ी गई
Material Compose लाइब्रेरी में मौजूद कई कॉम्पोनेंट को, पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर के साथ आसानी से काम करने के लिए डिज़ाइन किया गया है. इन कॉम्पोनेंट में, पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर के ऐनिमेशन की सुविधा चालू करने के लिए, अपने प्रोजेक्ट में Material3 की नई डिपेंडेंसी (androidx.compose.material3:material3-*:1.3.0 या इसके बाद का वर्शन) शामिल करें.
प्रिडिक्टिव बैक ऐनिमेशन की सुविधा देने वाले मटीरियल कॉम्पोनेंट में ये शामिल हैं:
SearchBarModalBottomSheetModalDrawerSheet/DismissibleDrawerSheetModalNavigationDrawer/DismissibleNavigationDrawer
SearchBar और ModalBottomSheet, प्रेडिक्टिव बैक जेस्चर के साथ अपने-आप ऐनिमेट होते हैं. ModalNavigationDrawer, ModalDrawerSheet, DismissibleDrawerSheet, और DismissibleNavigationDrawer के लिए, आपको drawerState को उनके संबंधित शीट कॉन्टेंट कंपोज़ेबल में पास करना होगा.
पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर के ऐनिमेशन की जांच करना
अगर अब भी Android 13 या Android 14 का इस्तेमाल किया जा रहा है, तो होम स्क्रीन पर वापस जाने वाले ऐनिमेशन को टेस्ट किया जा सकता है.
इस ऐनिमेशन को टेस्ट करने के लिए, यह तरीका अपनाएं:
- अपने डिवाइस पर, सेटिंग > सिस्टम > डेवलपर के लिए सेटिंग और टूल पर जाएं.
- प्रिडिक्टिव बैक ऐनिमेशन चुनें.
- अपडेट किया गया ऐप्लिकेशन लॉन्च करें और इसे आज़माने के लिए, वापस जाने वाले जेस्चर का इस्तेमाल करें.
Android 15 और इसके बाद के वर्शन पर, यह सुविधा डिफ़ॉल्ट रूप से चालू रहती है.