حدث التنقّل

Navigation Event هي مكتبة توفّر حلاً متوافقًا مع Kotlin Multiplatform (KMP) لدمج أحداث التنقّل على مستوى النظام في تطبيقك. تم تصميمها لتكون الطبقة الأساسية للتعامل مع اتجاهات التنقّل على مختلف المنصات المتوافقة.

المفاهيم الرئيسية

تم تصميم نظام "حدث التنقّل" استنادًا إلى نموذج مركزي للمرسل والمستلِم، ويُستخدم غالبًا في التسلسل الهرمي للعناصر الرئيسية والفرعية لربطها ببُنى واجهة مستخدم معقّدة، مثل تلك المتوفّرة في Jetpack Compose.

NavigationEventDispatcher هو الفئة المركزية المسؤولة عن إدارة جميع مستهلكي أحداث التنقّل المسجّلين (NavigationEventHandler) وتنظيم سير الأحداث.

في عملية الإعداد الهرمي، تشترك جميع أدوات إرسال البيانات ضمن السلسلة نفسها في NavigationEventProcessor واحد، يدير الحالة العامة ويضمن ترتيبًا واحدًا وموحّدًا للإرسال على مستوى الشجرة بأكملها.

NavigationEventHandler هي فئة مجرّدة تتلقّى أحداث التنقّل التي يرسلها NavigationEventDispatcher وتعالجها. ويحدّد هذا الصف طرق معاودة الاتصال التي تتوافق مع المراحل المختلفة لدورة حياة إيماءة التنقّل، مثل وقت بدء الإيماءة أو تقدّمها أو اكتمالها أو إلغائها.

يمكن أن تستجيب المعالِجات لهذه الأحداث لتعديل واجهة المستخدم أو حالة التطبيق استجابةً لإجراءات التنقّل التي يتّخذها المستخدم. يمكن تسجيل معالِجات متعددة باستخدام أداة توزيع، ويتم استدعاؤها استنادًا إلى الأولوية وترتيب التسجيل.

NavigationEvent هو فئة بيانات تتضمّن تفاصيل إيماءة التنقّل.

NavigationEventInfo هو فئة مجرّدة توفّر معلومات سياقية حول حالة التنقّل.

NavigationEventInput هي فئة مجرّدة للعناصر التي تنشئ أحداث التنقّل وترسلها. وهو يعمل كجانب "الإدخال" في نظام التنقّل، حيث يحوّل الأحداث الخاصة بالمنصة (مثل الإيماءات الرجوع إلى الخلف في النظام أو النقرات على الأزرار) إلى أحداث موحّدة يمكن إرسالها إلى NavigationEventDispatcher.

اتجاهات التنقّل وعوامل التشغيل المتوافقة

تم تصميم نظام "حدث التنقّل" ليشمل أكثر من مجرد زر الرجوع في النظام، مع تصاميم تتوافق مع اتجاهات تنقّل وطرق إدخال متعددة على مستوى جميع المنصات.

الجهات المتوافقة

تتيح المنصات المختلفة اتجاهات تنقّل متنوعة:

المنصة

رجوع

أعلى

إعادة توجيه

الصفحة الرئيسية

هاتف Android

🚫

جهاز Android لوحي

🚫

الويب (المتصفّح)

🚫

iOS (iPhone/iPad)

🚫

المشغّلات المتوافقة

يتم التعامل مع الإدخال من خلال آليات مختلفة على كل نظام أساسي:

المشغّل

هاتف Android

الويب (المتصفّح)

iOS (iPhone/iPad)

زر الرجوع في لوحة المفاتيح

✅ رجوع

✅ رجوع

زر الرجوع في البرنامج

🚫

✅ رجوع

✅ رجوع

زرّ "البرامج الحديثة"

✅ زيادة

🚫

🚫

إيماءة من اليسار

✅ رجوع

✅ رجوع

إيماءة من اليمين

✅ رجوع

✅ إعادة التوجيه

الإيماءة من أسفل الشاشة

✅ الصفحة الرئيسية

🚫

✅ الصفحة الرئيسية