navigationevent

  
توفّر مكتبة أحداث التنقّل واجهة برمجة تطبيقات مخصّصة لنظام KMP من أجل معالجة ميزة "الرجوع إلى الخلف" في النظام بالإضافة إلى ميزة الرجوع إلى الخلف التنبؤي.
آخر تعديل الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار الأولي
18 حزيران (يونيو) 2025 - - - 1.0.0-alpha03

تحديد التبعيات

لإضافة تبعية على navigationevent، يجب إضافة مستودع Google Maven إلى مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.

أضِف التبعيات للعناصر التي تحتاج إليها في ملف build.gradle ل تطبيقك أو وحدتك:

رائع

dependencies {
    implementation "androidx.navigationevent:navigationevent:1.0.0-alpha03"
}

Kotlin

dependencies {
    implementation("androidx.navigationevent:navigationevent:1.0.0-alpha03")
}

لمزيد من المعلومات عن العناصر الاعتمادية، اطّلِع على مقالة إضافة عناصر الاعتماد الخاصة بالإصدار.

الملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا واجهت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية عن طريق النقر على زر النجمة.

إنشاء مشكلة جديدة

اطّلِع على مستندات أداة تتبُّع المشاكل لمزيد من المعلومات.

لا تتوفّر ملاحظات حول الإصدار لهذا العنصر.

الإصدار 1.0

الإصدار 1.0.0-alpha03

18 حزيران (يونيو) 2025

تم إصدار androidx.navigationevent:navigationevent-*:1.0.0-alpha03. يتضمّن الإصدار 1.0.0-alpha03 عمليات الربط هذه.

الميزات الجديدة

  • تمّت إضافة وحدة navigationevent-compose جديدة لتتوافق مع ميزات Jetpack Compose في مكتبة navigationevent. (980d78)
  • NavigationEvent أضافت ميزة "إنشاء" LocalNavigationEventDispatcherOwner تركيبة محلية جديدة. ويعرض قيمة يمكن أن تكون فارغة لتحديد ما إذا كان متاحًا في التركيبة الحالية بشكل أفضل. سيُظهر NavigationEventHandler الآن خطأً في حال عدم العثور على المالك الأساسي. (62ffda)
  • NavigationEvent أضافت ميزة "الإنشاء" NavigationEventHandler عنصرًا جديدًا قابلاً للتجميع من أجل معالجة أحداث (إيماءة الرجوع التوقّعية). يوفّر Flow من NavigationEvent عنصرًا يجب جمعها في دالة lambda المعلّقة التي تقدّمها c42ba6 :
NavigationEventHandler { progress: Flow<NavigationEvent> ->
  // This block is executed when the back gesture begins.
  try {
    progress.collect { backEvent ->
      // Handle gesture progress updates here.
    }
    // This block is executed if the gesture completes successfully.
  } catch (e: CancellationException) {
    // This block is executed if the gesture is cancelled
    throw e
  } finally {
    // This block is executed either the gesture is completed or cancelled
  }
}

تغييرات واجهة برمجة التطبيقات

  • يمكن الآن تسجيل كل NavigationEventCallback باستخدام NavigationEventDispatcher واحد فقط في كل مرة، وسيتم عرض خطأ IllegalStateException عند إضافته إلى موزّعين متعدّدين. يختلف هذا السلوك عن OnBackPressedDispatcher الذي يسمح بمستخدمي إرسال متعدّدين. (e82c19)
  • تمّ جعل isPassThrough val لمنع حدوث تغييرات أثناء التنقّل، ما قد يؤدي إلى إيقاف إرسال NavigationEvent. (I0b287)

الإصدار 1.0.0-alpha02

4 حزيران (يونيو) 2025

تم إصدار androidx.navigationevent:navigationevent-*:1.0.0-alpha02. يحتوي الإصدار 1.0.0-alpha02 على عمليات الربط هذه.

تغييرات واجهة برمجة التطبيقات

  • استبدِل المنشئ الثانوي NavigationEventDispatcher بالوسيطات التلقائية. (I716a0)
  • أزِل الموقع ذي الأولوية من NavigationEventCallback. امنح الأولوية إلى NavigationEventDispatcher.addCallback() بدلاً من ذلك. (I13cae)

إصلاح الأخطاء

  • تم إصلاح ConcurrentModificationException الذي يمكن أن يحدث عند استدعاء NavigationEventCallback.remove() بسبب تعديل القائمة الداخلية للعناصر التي يمكن إغلاقها في الوقت نفسه. (b/420919815)

الإصدار 1.0.0-alpha01

20 أيار (مايو) 2025

تم إصدار androidx.navigationevent:navigationevent-*:1.0.0-alpha01. يحتوي الإصدار 1.0.0-alpha01 على عمليات الربط هذه.

الميزات الجديدة

  • توفّر مكتبة androidx.navigationevent واجهة برمجة تطبيقات مخصّصة لنظام KMP من أجل معالجة "الرجوع إلى النظام" بالإضافة إلى الرجوع التوقّعي. تُستخدَم NavigationEventDispatcher كواجهة برمجة تطبيقات شائعة لتسجيل مثيل واحد أو أكثر من NavigationEventCallback لتلقّي أحداث استرداد النظام.
  • تقع هذه الطبقة أسفل واجهات برمجة التطبيقات التي تم إصدارها سابقًا في androidx.activity، وتهدف إلى أن تكون بديلاً أقل تحديدًا لاستخدام واجهات برمجة تطبيقات النشاط في المكوّنات ذات المستوى الأعلى أو استخدام واجهات برمجة تطبيقات إطار عمل Android OnBackInvokedDispatcher مباشرةً. تمت إعادة كتابة واجهات برمجة تطبيقات androidx.activity استنادًا إلى واجهات برمجة تطبيقات أحداث التنقّل كجزء من Activity 1.12.0-alpha01.