Jetpack Compose-এর PredictiveBackHandler কম্পোজেবলটি আপনাকে ব্যাক জেসচার ইন্টারসেপ্ট করতে এবং এর অগ্রগতি অ্যাক্সেস করতে দেয়। ব্যবহারকারী কতটুকু সোয়াইপ করেছেন তার উপর ভিত্তি করে কাস্টম অ্যানিমেশন বা বিহেভিয়ার তৈরি করে আপনি রিয়েল-টাইমে তার ব্যাক জেসচারে প্রতিক্রিয়া জানাতে পারেন।
PredictiveBackHandler ব্যবহার করতে, নিশ্চিত করুন যে আপনি androidx.activity:activity:1.6.0 বা তার উচ্চতর সংস্করণ ব্যবহার করছেন।
PredictiveBackHandler একটি Flow<BackEventCompat> প্রদান করে যা ব্যাক জেসচারের অগ্রগতি নির্দেশকারী ইভেন্ট নির্গত করে। প্রতিটি ইভেন্টে নিম্নলিখিত তথ্য থাকে:
-
progress: ০ এবং ১ এর মধ্যে একটি ফ্লোট মান যা ব্যাক জেসচারের অগ্রগতি নির্দেশ করে (০ = জেসচার শুরু হয়েছে, ১ = জেসচার সম্পন্ন হয়েছে)। -
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 throw e } }
উদাহরণ: একটি নেভিগেশন ড্রয়ারের সাথে একীভূত করুন
এই উদাহরণটি দেখায় কিভাবে JetLagged- এ ব্যাক জেসচারের প্রতিক্রিয়ায় নেভিগেশন ড্রয়ারের সাথে একটি মসৃণ ইন্টারঅ্যাকশন তৈরি করতে PredictiveBackHandler ব্যবহার করে একটি কাস্টম ইন-অ্যাপ অ্যানিমেশন প্রয়োগ করতে হয়।
এই উদাহরণে, PredictiveBackHandler কাজে ব্যবহৃত হয়:
- ব্যাক জেসচারের অগ্রগতি ট্র্যাক করুন।
- জেসচারের অগ্রগতির উপর ভিত্তি করে ড্রয়ারের
translationXআপডেট করুন। - জেসচারটি সম্পন্ন বা বাতিল হলে, জেসচারের বেগের উপর ভিত্তি করে ড্রয়ারটি মসৃণভাবে খুলতে বা বন্ধ করতে একটি
velocityTrackerব্যবহার করুন।