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 } }
উদাহরণ: নেভিগেশন ড্রয়ারের সাথে ইন্টিগ্রেট করা
এই উদাহরণে দেখানো হয়েছে কীভাবে PredictiveBackHandler ব্যবহার করে কাস্টম ইন-অ্যাপ অ্যানিমেশন প্রয়োগ করতে হয়, যাতে JetLagged-এ ব্যাক জেসচারের উত্তরে নেভিগেশন ড্রয়ারের সাথে স্মুথ ইন্টার্যাকশন তৈরি করা যায়:
এই উদাহরণে, PredictiveBackHandler-কে এইসব কাজে ব্যবহার করা হয়:
- ফিরে যাওয়ার জেসচারের প্রগ্রেস ট্র্যাক করা।
- জেসচার প্রোগ্রেসের উপর ভিত্তি করে ড্রয়ারের
translationXআপডেট করুন। - জেসচার সম্পূর্ণ বা বাতিল হয়ে গেলে, জেসচারের গতির উপর নির্ভর করে ড্রয়ারটি মসৃণভাবে খুলতে বা বন্ধ করতে
velocityTrackerব্যবহার করুন।