জেটপ্যাক কম্পোজে 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ব্যবহার করুন।