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

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 ব্যবহার করুন।