تتيح لك العنصر القابل للتجميع PredictiveBackHandler
في Jetpack Compose
اعتراض إيماءة الرجوع والاطّلاع على مستوى تقدّمها. يمكنك التفاعل مع لفتة التنقّل
للخلف التي ينفّذها المستخدم في الوقت الفعلي، وإنشاء رسوم متحركة أو سلوكيات مخصّصة استنادًا إلى مدى
بُعد التمرير السريع الذي ينفّذه المستخدم.
لاستخدام PredictiveBackHandler
، تأكَّد من استخدام
androidx.activity:activity:1.6.0
أو إصدار أحدث.
يوفّر تطبيق PredictiveBackHandler
Flow<BackEventCompat>
يُرسِل أحداثًا
تمثّل مستوى تقدّم إيماءة الرجوع. يحتوي كلّ حدث على معلومات
مثل:
-
progress
: قيمة عائمة بين 0 و1 تشير إلى مستوى تقدّم إشارة الالتفاف للخلف (0 = إشارة الالتفاف للخلف قد بدأت، 1 = اكتمال إشارة الالتفاف للخلف) -
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 } }
مثال: الدمج مع قائمة تنقل
يوضّح هذا المثال كيفية تنفيذ صورة متحركة مخصّصة داخل التطبيق باستخدام PredictiveBackHandler
لإنشاء تفاعل سلس مع ملف ملتقى
التنقّل استجابةً للإيماءات للرجوع في JetLagged:
في هذا المثال، يتم استخدام PredictiveBackHandler
لإجراء ما يلي:
- تتبُّع مستوى تقدُّم إيماءة الرجوع
- عدِّل
translationX
للدرج استنادًا إلى مستوى تقدّم الإيماءة. - استخدِم
velocityTracker
لفتح الدرج أو إغلاقه بسلاسة استنادًا إلى سرعة الإيماءة عند إكمالها أو إلغائها.