Jetpack Compose में PredictiveBackHandler
कॉम्पोज़ेबल की मदद से, पिछले पेज पर जाने के जेस्चर को इंटरसेप्ट किया जा सकता है और उसकी प्रोग्रेस को ऐक्सेस किया जा सकता है. उपयोगकर्ता के बैक जेस्चर पर रीयल-टाइम में प्रतिक्रिया दी जा सकती है. इसके लिए, उपयोगकर्ता के स्वाइप करने के आधार पर कस्टम ऐनिमेशन या व्यवहार बनाए जा सकते हैं.
PredictiveBackHandler
का इस्तेमाल करने के लिए, पक्का करें कि आपके पास androidx.activity:activity:1.6.0
या इसके बाद का वर्शन हो.
PredictiveBackHandler
एक Flow<BackEventCompat>
उपलब्ध कराता है, जो पिछले पेज पर जाने के जेस्चर की प्रोग्रेस दिखाने वाले इवेंट उत्सर्जित करता है. हर इवेंट में यह जानकारी शामिल होती है:
progress
: यह 0 और 1 के बीच की फ़्लोट वैल्यू होती है. इससे, बैक जेस्चर की प्रोग्रेस का पता चलता है. 0 = जेस्चर शुरू हुआ, 1 = जेस्चर पूरा हुआ.touchX
औरtouchY
: टच इवेंट के X और Y कोऑर्डिनेट.
इस स्निपेट में, PredictiveBackHandler
के बुनियादी इस्तेमाल के बारे में बताया गया है:
PredictiveBackHandler(true) { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress boxScale = 1F - (1F * backEvent.progress) } // code for completion boxScale = 0F } catch (e: CancellationException) { // code for cancellation boxScale = 1F } }
उदाहरण: नेविगेशन पैनल के साथ इंटिग्रेट करना
इस उदाहरण में, PredictiveBackHandler
का इस्तेमाल करके, ऐप्लिकेशन में कस्टम ऐनिमेशन लागू करने का तरीका बताया गया है. इससे JetLagged में, 'वापस जाएं' जेस्चर के जवाब में नेविगेशन ड्रॉअर के साथ आसानी से इंटरैक्ट किया जा सकता है:
इस उदाहरण में, PredictiveBackHandler
का इस्तेमाल इन कामों के लिए किया गया है:
- पिछले पेज पर जाने के जेस्चर की प्रोग्रेस को ट्रैक करना.
- जेस्चर की प्रोग्रेस के आधार पर, ड्रॉअर के
translationX
को अपडेट करें. - जेस्चर पूरा होने या रद्द होने पर, जेस्चर की रफ़्तार के आधार पर,
velocityTracker
का इस्तेमाल करके, ड्रॉअर को आसानी से खोलें या बंद करें.