ম্যানুয়ালি অগ্রগতি অ্যাক্সেস করুন

Jetpack Compose-এর PredictiveBackHandler কম্পোজেবলটি আপনাকে ব্যাক জেসচার ইন্টারসেপ্ট করতে এবং এর অগ্রগতি অ্যাক্সেস করতে দেয়। ব্যবহারকারী কতটুকু সোয়াইপ করেছেন তার উপর ভিত্তি করে কাস্টম অ্যানিমেশন বা বিহেভিয়ার তৈরি করে আপনি রিয়েল-টাইমে তার ব্যাক জেসচারে প্রতিক্রিয়া জানাতে পারেন।

PredictiveBackHandler ব্যবহার করতে, নিশ্চিত করুন যে আপনি androidx.activity:activity:1.6.0 বা তার উচ্চতর সংস্করণ ব্যবহার করছেন।

PredictiveBackHandler একটি Flow<BackEventCompat> প্রদান করে যা ব্যাক জেসচারের অগ্রগতি নির্দেশকারী ইভেন্ট নির্গত করে। প্রতিটি ইভেন্টে নিম্নলিখিত তথ্য থাকে:

  • progress : ০ এবং ১ এর মধ্যে একটি ফ্লোট মান যা ব্যাক জেসচারের অগ্রগতি নির্দেশ করে (০ = জেসচার শুরু হয়েছে, ১ = জেসচার সম্পন্ন হয়েছে)।
  • touchXtouchY : টাচ ইভেন্টের 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 ব্যবহার করুন।