navigation3
| آخر الأخبار | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأولي |
|---|---|---|---|---|
| 11 مارس 2026 | 1.0.1 | - | 1.1.0-beta01 | - |
تحديد الاعتماديات
لإضافة اعتمادية على navigation3، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:
Groovy
dependencies { implementation "androidx.navigation3:navigation3-runtime:1.1.0-beta01" implementation "androidx.navigation3:navigation3-ui:1.1.0-beta01" }
Kotlin
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.1.0-beta01") implementation("androidx.navigation3:navigation3-ui:1.1.0-beta01") }
لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات الإصدار.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.
لا تتوفّر ملاحظات إصدار لهذا العنصر.
الإصدار 1.1
الإصدار 1.1.0-beta01
11 مارس 2026
تم طرح androidx.navigation3:navigation3-*:1.1.0-beta01. يتضمّن الإصدار 1.1.0-beta01 هذه التعديلات.
الإصدار 1.1.0-alpha05
25 فبراير 2026
تم طرح androidx.navigation3:navigation3-*:1.1.0-alpha05. يتضمّن الإصدار 1.1.0-alpha05 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- يستخدم نظاما التشغيل
NavDisplayوrememberSceneStateالآنList<SceneStrategy>بدلاً من المَعلمة الفردية السابقةSceneStrategyالتي تم ربطها باللاحقةthen. يتوافق ذلك بشكل أكبر معList<SceneDecoratorStrategy<T>>الذي تستخدمه كلتا واجهتَي برمجة التطبيقات. تم إيقاف العمل بواجهات برمجة التطبيقات السابقة. (I78b2c، b/482108465) - تمت إضافة عامل التشغيل #contains الخاص بالبيانات الوصفية للتحقّق مما إذا كانت خريطة البيانات الوصفية تحتوي على
NavMetadataKeyالمحدّد. (Ic30db، b/485311895) - تمت إضافة
NavMetadataKeyDialogKeyإلىDialogSceneStrategyلاستخدامه مع Metadata DSL. (Ic7a26، b/483388817)
الإصدار 1.1.0-alpha04
11 فبراير 2026
تم طرح androidx.navigation3:navigation3-*:1.1.0-alpha04. يتضمّن الإصدار 1.1.0-alpha04 هذه التعديلات.
الميزات الجديدة
- توفّر مكتبة Navigation3 الآن لغة نطاق خاص جديدة للبيانات الوصفية آمنة الأنواع. تستخدم لغة DSL واجهة
MetadataKeyجديدة تتيح تحديد أنواع المفاتيح والقيم التي يريدون تقديمها إلى خريطة البيانات الوصفية. أضفنا أيضًاNavMetadataKeyجديدة لعمليات الانتقالNavDisplayحتى يمكن استخدامها مع لغةmetadataDSL الجديدة لإضافة عمليات انتقال إلىNavDisplay. (Ic10ef وIc049c وb/476213928)
تغييرات واجهة برمجة التطبيقات
- تتضمّن واجهة
OverlaySceneالآن وظيفة ردّ الاتصال الجديدةonRemovedالخاصة بالتعليق. يتم استدعاء دالة معاودة الاتصال هذه بعد إزالة مفتاح مرتبط بالمشهد من سجلّ الرجوع، ولكن قبل مغادرة التركيب. يسمح ذلك بإكمال الصور المتحركة للخروج التي يتم استدعاؤها ضِمنonRemovedقبل إزالة مشهد التراكب من التركيب. (I29a72، b/440558061) - فصلت
SceneStrategyدالة الزخرفة إلى دالة جديدةSceneDecoratorStrategy. هذه الواجهة الجديدة هي التي يجب استخدامها لإضافة مَعلمات إلى المشاهد. تتوفّر واجهات برمجة تطبيقات جديدة لـNavDisplayوrememberSceneStateتتيح إضافةSceneDecoratorStrategies. (If9385، b/477669607، b/477670333)
إصلاح الأخطاء
- تم إصلاح خطأ كان يحدث عند تمرير
SharedTransitionLayoutإلىNavDisplayأوrememberSceneStateواستخدام أيOverlayScene، ما كان يؤدي إلى حدوث عطل لأنّ استخدامSharedTransitionLayoutلا يعمل إلا معNavEntriesالتي يتم عرضها كجزء منAnimatedContent، ويتم عرضOverlaySceneفي نوافذ منفصلة. (I1bb76، b/478664101)
تحديث الاعتمادية
- من الإصدار 1.0.1 من
Navigation3: يعتمدNavigation3الآن على الإصدار 1.0.2 منNavigationEvent. يحلّ هذا التحديث مشكلةIllegalStateExceptionناتجة عن استخدامNavDisplayأثناء معايناتAndroidStudio. (Id7212، b/477149762)
الإصدار 1.1.0-alpha03
28 يناير 2026
تم طرح androidx.navigation3:navigation3-*:1.1.0-alpha03. يتضمّن الإصدار 1.1.0-alpha03 هذه التعديلات.
الميزات الجديدة
- يمكنك الآن إضافة بيانات وصفية بشكلٍ ديناميكي مع مراعاة مفتاح الإدخال من خلال
EntryProviderDSL. (I942fb، b/474416976)
الإصدار 1.1.0-alpha02
14 يناير 2026
تم طرح androidx.navigation3:navigation3-*:1.1.0-alpha02. يتضمّن الإصدار 1.1.0-alpha02 هذه التعديلات.
الميزات الجديدة
- يتيح
SceneStrategyالآن تضمين المشاهد من خلال الدالة الجديدةcalculatedScene(Scene). وهذا يعني أنّه يمكن تخصيصSceneStrategyلتوفير وظائف إضافية لمشاهد أخرى. (I5df7c،b/440333896)
الإصدار 1.1.0-alpha01
3 ديسمبر 2025
تم طرح androidx.navigation3:navigation3-*:1.1.0-alpha01. يتضمّن الإصدار 1.1.0-alpha01 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تتيح
Navigation3الآن التعامل مع المشاهد كعنصر كائن مشترك. هذا يعني أنّه عند تغيير المشاهد، يمكن ضمان انتقال سلس بينها. يمكنك تفعيل ذلك من خلال تمريرSharedTransitionScopeإلىNavDisplayأو إلىrememberSceneState. (I15868)
الإصدار 1.0
الإصدار 1.0.1
11 فبراير 2026
تم طرح androidx.navigation3:navigation3-*:1.0.1. يتضمّن الإصدار 1.0.1 هذه التعديلات.
تحديث الاعتمادية
- يعتمد
Navigation3الآن على الإصدار 1.0.2 منNavigationEvent. يحلّ هذا التحديث مشكلةIllegalStateExceptionناتجة عن استخدامNavDisplayأثناء معايناتAndroidStudio. (Id7212، b/477149762)
الإصدار 1.0.0
19 نوفمبر 2025
تم طرح androidx.navigation3:navigation3-*:1.0.0. يتضمّن الإصدار 1.0.0 هذه التعديلات.
نقدّم لك Navigation3!
- أصبحت مكتبة Navigation3 مستقرة الآن. Navigation3 هو أول نهج في AndroidX Compose للتنقل.
- لمزيد من المعلومات، يُرجى الاطّلاع على منشور المدوّنة الخاص بالإعلان، وزيارة المراجع، وتجربة الوصفات.
الإصدار 1.0.0-rc01
5 نوفمبر 2025
تم طرح androidx.navigation3:navigation3-*:1.0.0-rc01. يتضمّن الإصدار 1.0.0-rc01 هذه التعديلات.
إصلاح الأخطاء
- يضبط
NavDisplayالآنLocalLifecycleOwnerعلى مستوىSceneيسمح لمؤلفي المشاهد بتحديد ما إذا كانت جميع عمليات الانتقال قد انتهت من خلال التحقّق من أنّLifecycle.StateهيRESUMED. لم يتغيّر سلوكLocalLifecycleOwnerعلى مستوىNavEntry: سيظلّ أيضًا محدودًا عندSTARTEDإذا كان هناك انتقال قيد التقدّم، وسيتمّ أيضًا الحدّ من قيمته عندCREATEDإذا تمّ إزالةNavEntryمن الأنشطة السابقة وكان في طور إيقاف الحركة. (I03113، b/454045829)
الإصدار 1.0.0-beta01
22 أكتوبر 2025
تم طرح androidx.navigation3:navigation3-*:1.0.0-beta01. يتضمّن الإصدار 1.0.0-beta01 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- يحتوي
SceneStrategyScopeالآن على دالة إنشاء عامة بدون وسيطة، وهي مناسبة لاختبارSceneStrategyوSceneالمعروض بشكل منفصل. بالنسبة إلى حالات الاستخدام الأكثر تعقيدًا، يُرجى استخدامrememberSceneState(). (I8440c، b/451679047)
إصلاح الأخطاء
- تم إصلاح مشكلة التكرار اللانهائي عند ربط
SceneStrategyبـthen. (Iba3f0، b/450323470) - تم إصلاح مشكلة وميض الشاشة عند تبديل
backStackالذي تم تمريره إلىNavDisplayواستخدام الصور المتحركة. (Ief7b5، b/450967248)
الإصدار 1.0.0-alpha11
8 أكتوبر 2025
تم طرح androidx.navigation3:navigation3-*:1.0.0-alpha11. يتضمّن الإصدار 1.0.0-alpha11 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- لم تعُد الطريقة
calculateSceneعلىSceneStrategy@Composable. بدلاً من ذلك، ننصحك بنقل هذا العمل إلى إنشاء طريقةSceneStrategy(أي في طريقةrememberMySceneStrategy()) التي تتيح لك بالكامل تحديد مدة صلاحية أي قيمrememberSaveableأو عبارات مفتاحيةrememberمن القيم الصحيحة. (If1733، b/448709506) - تم نقل المَعلمة
onBackالخاصة بـSceneStrategy.calculateSceneإلى نطاق المتلقّي الجديدSceneStrategyScopeلتوضيح أنّ هذه المَعلمة اختيارية وتوفير نقطة توسيع لميزات Navigation3 المستقبلية. (I3aea3، b/448460407) - لم يعُد تعبير lambda
onBackالذي تم تمريره إلىNavDisplayوإلىSceneStrategyيوفّر المَعلمةcount: Intللإشارة إلى الحالات التي يجب فيها إزالة إدخالات متعددة. بدلاً من ذلك، سيتم الآن استدعاء دالة() -> Unitlambda عدة مرات على التوالي في الحالة النادرة التي تطلب فيها "مشاهد" عرض إدخالات متعددة. (Idedb5، b/446989346) - أزِل الفئة
NavEntryWrapperواستبدِل وظائفها بفئةNavEntryنهائية تتضمّن دالة إنشاء ثانوية جديدة تأخذNavEntryمع محتوى جديد. سيسمح ذلك بمواصلة إتاحة إمكانية تضمين إدخال بمحتوى جديد. (I7da2a، b/444447130) - تمت إزالة الدالة
navEntryDecoratorالتي تنشئ وتعرضNavEntryDecoratorواستبدالها بفئةNavEntryDecoratorالتي أصبحت متاحة الآن للجميع ويمكن إنشاء فئات فرعية منها. (If81f8، b/444447434، b/447381176) - تمت إعادة تسمية
SavedStateNavEntryDecoratorإلىSaveableStateHolderNavEntryDecoratorلأنّها تزين الإدخالات باستخدامSaveableStateHolder. تمت إعادة تصميم أداة التزيين أيضًا من دالة إلى فئة لأنّها تعمل وظيفيًا كمصنع لـNavEntryDecorator. (Ie6013، b/447381176) - لم يعُد مطلوبًا من العروض المخصّصة التي تستخدم
SceneStateكبديل لاستخدامNavDisplayاستخدام اللغة المحلية للمقطوعةLocalEntriesToRenderInCurrentScene، لأنّها أصبحت الآن داخلية. (Ic40ef، b/414668196) - تمت إزالة
SceneSetupNavEntryDecoratorوrememberSceneSetupNavEntryDecorator()من مساحة واجهة برمجة التطبيقات العلنية. يتم تضمين هذه الوظيفة الآن تلقائيًا بدون الحاجة إلى تضمينها يدويًا. (Ieae42، b/444479133) - تتضمّن الآن جميع الفئات
NavEntryوDialogSceneوSinglePaneSceneوSceneStateالدالة equals. (I96121) - تتضمّن واجهة المشهد حقل بيانات وصفية جديدًا لإرفاق بيانات وصفية خاصة بالمشهد في NavDisplay. يسمح ذلك لـ Scene بتجاوز البيانات الوصفية في
NavDisplay، على سبيل المثال مع عمليات الانتقال. (I1fd96، b/443955625) - تبسيط توقيع
rememberNavBackStackعن طريق إزالة مَعلمة النوع العام المكرّرة تقبل الدالة الآنvararg elements: NavKey. (I03e45) - أصبحت الرسوم المتحركة التلقائية في
NavDisplayجزءًا من واجهة برمجة التطبيقات الشائعة التي تتيح استدعاءها من جميع المنصات. (I71af9، b/447147159) - أعِد تسمية
EntryProviderBuilderإلىEntryProviderScopeلتعكس بدقة أنّ الفئة هي لغة Kotlin خاصة بالنطاق (DSL) توفّر نطاقًا لإنشاءNavEntries. (Ia7465)
إصلاح الأخطاء
- تفرض السمة
rememberNavBackStack()الآن التسلسل المتعدّد الأشكال لـ NavKey وتتطلّب السمةSavedStateConfigurationالمخصّصة التي تم إعدادها لضمان استعادة الحالة بشكلٍ صحيح. تم تعديل KDoc لتعكس شرط تسجيل جميع الأنواع الفرعية من NavKey في SerializersModule المقدَّمة. (I6de37 وI782f2 وb/446664383)
الإصدار 1.0.0-alpha10
24 سبتمبر 2025
تم طرح androidx.navigation3:navigation3-*:1.0.0-alpha10. يتضمّن الإصدار 1.0.0-alpha10 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أضِف حمولة زائدة جديدة
NavDisplayتأخذ قائمةNavEntry<T>تم تزيينها بواسطةrememberDecoratedNavEntries. (I4025b، b/441940314) - تم نقل
DialogSceneإلى حزمة جديدة. (Ia5840) - إزالة واجهة برمجة التطبيقات العامة
DecorateNavEntryبدلاً من ذلك، استخدِمrememberDecoratedNavEntriesلتضمين NavEntry في قائمة أدوات تزيين. (Id8c09) - توفّر واجهة مستخدم Navigation3 الآن سمات
transitionSpecتلقائية جديدة. (Ibcabd) - تمت إضافة عنصر
SceneStateجديد للمساعدة في إدارة المشاهد. يوفّر ذلك أيضًا عملية تحميل زائدة جديدةNavDisplayتأخذSceneStateوNavigationEventState. (Idfb46، b/444479133) - تتيح لك
NavDisplayالآن تخصيص عمليات الانتقال استنادًا إلىSceneالتي ستنتقل إليها أو منها من خلال النظر إلىcurrentStateوtargetStateفيTransition. (I906cc، b/443872322) - أصبح
NavigationEventInfoالآنabstract classبدلاً منinterface. عدِّل جميع عمليات التنفيذ المخصّصة لتتضمّن الفئة (مثلdata class MyInfo : NavigationEventInfo()). (I1e59c، b/444734264) - تم تعديل واجهات برمجة التطبيقات لمعالجة
navigationevent-compose. يتوافق النوعانNavigationEventHandlerوNavigationBackHandler(والأنواع الفرعية) الآن مع تحميل زائد جديد يقبلNavigationEventStates تم نقله إلى الأعلى. يتم الاحتفاظ بعمليات التحميل الزائد البسيطة (التي تتضمّنcurrentInfo) وتستخدم الآن نموذج الحالة الجديد هذا داخليًا. (Ic3251، b/444734264) - تم نقل جميع واجهات برمجة التطبيقات الخاصة بالمشاهد من navigation3-ui إلى navigation3-runtime. وهذا يعني أنّها أصبحت متاحة الآن على جميع المنصات المتوافقة مع navigation3-runtime. (I431d0، b/444449993)
- تمت إضافة حمولة زائدة جديدة
rememberDecoratedNavEntriesتأخذ قائمةNavEntryلإضافة مَعلمات. يمكن أن تكون إدخالات الإدخال مزيّنة مسبقًا بمزيّنات إدخال أخرى. (I5a034، b/444230270) - إزالة مَعلمات نوع حرف البدل navigation3 (I02540)
- تم تحسين التعامل مع الأنواع العامة للغة
entryProviderالخاصة بالمجال. إذا كنت تستوردandroidx.navigation3.runtime.entryفي السابق، لم يعُد ذلك مطلوبًا. (I299fc) - قصر استخدام الحمل الزائد
NavBackStackSerializerالمستند إلى الانعكاس على Android يمنع ذلك حدوث أخطاء ضمنية في التسلسل أثناء وقت التشغيل على الأنظمة الأساسية غير Android من خلال فرض استخدام التحميل الزائد الصريحSavedStateConfigurationفي الرمز البرمجي المتوافق مع عدة أنظمة أساسية. (I73313، b/420443609) - اجعل
NavigationEventswipeEdge@IntDef(Icee54، b/443950342) - يجب حصر عملية تسلسل
NavBackStackعلى Android. يمنع ذلك حدوث أخطاء في وقت التشغيل على المنصات غير التابعة لنظام التشغيل Android. لحفظ الحالة على عدة منصات، استخدِم عملية التحميل الزائدrememberNavBackStackمعSavedStateConfigurationصريح. (I1e418، b/420443609)
إصلاح الأخطاء
- إصلاح عُطل أثناء استخدام ميزة "إيماءة إظهار شاشة الرجوع" عندما يحتوي العنصر
NavDisplayالمتداخل على إدخال ثانوي واحد. (I2cdc0، b/441933162)
الإصدار 1.0.0-alpha09
10 سبتمبر 2025
تم طرح androidx.navigation3:navigation3-*:1.0.0-alpha09. يتضمّن الإصدار 1.0.0-alpha09 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم استبدال
DecoratedNavEntryProviderبـrememberDecoratedNavEntriesالذي ينشئ NavEntries ويعرضها مع قائمة أدوات التزيين المتوفّرة (I0fe1c، b/441328236) - أصبح
NavBackStackالآن عامًا على مستوى النوعNavKey. يتيح ذلك للتطبيقات والمكتبات تحديد أنواع مفاتيح مخصّصة لمكدّسات الرجوع، بدلاً من الاقتصار علىNavKey. (I4d190 وIad2f4 وb/420443609) - أصبحت السمة
NavBackStackالآن@kotlinx.serialization.Serializable، ما يتيح حفظ حالة التنقّل واستعادتها عند إيقاف العملية نهائيًا وتغيير الإعدادات بدون الحاجة إلى رمز نموذجي إضافي. (I2c3cf، b/420443609) - تم نقل
RememberNavBackStackإلىcommonMainلضمان توفيره على جميع المنصات المستهدَفة. (Id69e7، b/420443609)
إصلاح الأخطاء
- ينقل
NavDisplayالآن كلNavEntryعلى حدة إلىLifecycle.Stateالصحيح. (I30aac، b/440145700) - تم إصلاح مشكلة كانت تتجاهل فيها
NavDisplayأيNavigationEventDispatcherOwnerمتداخل تم ضبطه من خلالLocalNavigationEventDispatcherOwnerفي مكتبةNavigationEvent. (I6224a)
التغييرات في الاعتماديات
- تعتمد Navigation3 الآن على NavigationEvent Alpha08.
الإصدار 1.0.0-alpha08
27 أغسطس 2025
تم طرح androidx.navigation3:navigation3-*:1.0.0-alpha08. يتضمّن الإصدار 1.0.0-alpha08 هذه التعديلات.
الميزات الجديدة
- تمّت إضافة أهداف جديدة من Kotlin MultiPlatform (KMP) إلى عناصر
Navigation3 Runtime. يتوافقNavigation3 Runtimeالآن مع الأنظمة الأساسية التالية بشكلٍ كامل: JVM (Android وDesktop)، وNative (Linux وiOS وwatchOS وmacOS وMinGW)، والويب (JavaScript وWasmJS). (I55078، b/424410398، b/419294028، b/419046226). ملاحظة: لا يوفّر ذلك استهدافًا لمنصات متعددة فيNavigation3 UI. على المنصات الأخرى، عليك تنفيذNavDisplayمخصّص خاص بك. إذا أردت أن تصبح هذه الميزة متاحة، يُرجى التصويت على المشكلة في Jetbrains هنا ومتابعة حالة الطلب للحصول على دعم إضافي. - أصبح الكائن
NavDisplayInfoالآن متاحًا للجميع ويمكن استخدامه لاسترداد قائمة الإدخالات المرئية منNavDisplay. (Ibc91f)
تغييرات واجهة برمجة التطبيقات
- تمت إضافة
NavBackStackSerializerجديد لاستخدامه معrememberNavBackStackلتنفيذ عملية استعادة الحالة. يتلقّىrememberNavBackStack()الآن أيضًاSavedStateConfigurationيمكن استخدامه لتقديم الإعدادات الخاصة بك. (I2f4d2 وI4cd58 وb/420443609)
إصلاح الأخطاء
- تم إصلاح مشكلة كانت تتسبب في تشغيل أحداث Lifecycle غير صحيحة عند التنقّل. (I8bf6d وb/425901162 وb/434109022)
المشاكل المعروفة
- حدث خطأ بسبب I8bf6d، ما أدّى إلى استناد "دورات الحياة" إلى المشاهد بدلاً من الإدخالات الفردية، ما أدى إلى تعطيل "دورات الحياة" في أي حالات لم يكن فيها
keyالمقدَّم إلىNavEntryهوStringأو لم يتجاوزNavEntryقيمةcontentKeyوضبطها على قيمةkey(يُرجى العِلم أنّ إجراء ذلك يفرض إمكانية حفظ المفتاح فيBundle). وقد تم إصلاح هذا الخطأ في الإصدار التالي. (b/440145700)
الإصدار 1.0.0-alpha07
13 أغسطس 2025
تم طرح androidx.navigation3:navigation3-*:1.0.0-alpha07. يتضمّن الإصدار 1.0.0-alpha07 هذه التعديلات.
تعديل MinSdk
- تم نقل الحد الأدنى التلقائي لـ minSdk في AndroidX من المستوى 21 لواجهة برمجة التطبيقات إلى المستوى 23 لواجهة برمجة التطبيقات (Ibdfca وb/380448311 وb/435705964 وb/435705223).
تغييرات واجهة برمجة التطبيقات
- تستخدم مكتبة
SavedStateNavEntryDecoratorالآنSaveableStateRegistryالمضمّنة فيSaveableStateProviderلحفظ الحالات واستعادتها. (If8d9a) - يتم الآن توفير
predictivePopTransitionSpecكمعلَمة لحافة التمرير السريع، ما يتيح لك تخصيص الانتقال استنادًا إلى الحافة التي بدأ المستخدم منها إيماءة إظهار شاشة الرجوع. (I753a8)
إصلاح الأخطاء
- تم إصلاح مشكلة كانت تؤدي إلى إعادة احتساب المشاهد المخصّصة إلى ما لا نهاية لأنّه لم يتم تذكُّر المشهد الأخير. (I7ba84، b/418153031)
تحديث الاعتمادية
- تعتمد Navigation3 الآن على حدث التنقّل
1.0.0-alpha06.
الإصدار 1.0.0-alpha06
30 يوليو 2025
تم طرح androidx.navigation3:navigation3-*:1.0.0-alpha06. يتضمّن الإصدار 1.0.0-alpha06 هذه التعديلات.
تحديث الاعتمادية
- تعتمد Navigation3 الآن على حدث التنقّل
1.0.0-alpha05.
الإصدار 1.0.0-alpha05
2 يوليو 2022
تم طرح androidx.navigation3:navigation3-*:1.0.0-alpha05. يتضمّن الإصدار 1.0.0-alpha05 هذه التعديلات.
التغييرات في السلوك
- تستند حالة
NavEntryالآن بشكل صارم إلى قائمة أدوات التزيين الحالية التي تم تمريرها إلىNavDisplay. وهذا يعني أنّه يجب تبديل أدوات التزيين على طول حِزم الأنشطة السابقة في حال توفّر حِزم أنشطة سابقة متعددة من أجل الحفاظ على حالة NavEntry في حزمة الأنشطة السابقة. وفي حال عدم توفّرها، ستتم إزالة الحالات كما لو تم إيقاف الإدخالات (بدلاً من التبديل). (I7a759، b/428033667)
الإصدار 1.0.0-alpha04
18 يونيو 2025
تم طرح androidx.navigation3:navigation3-*:1.0.0-alpha04. يتضمّن الإصدار 1.0.0-alpha04 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أصبحت
NavEntry.contentخاصة الآن. لاستدعاء محتوىNavEntry، استخدِم واجهة برمجة التطبيقات الجديدةNavEntry.Content()التي لم تعُد تتطلّب المَعلمةkeyلاستدعائها. (Icd0fd، b/420991203) - أصبح
NavEntry.keyالآن حقلًا خاصًا. يجب تحديدNavEntryوالحالات ذات الصلة من خلال الحقل الجديدcontentKeyالذي يتم إنشاؤه من دالة lambda الجديدةcontentKeyFactoryويتم ضبطه تلقائيًا على قيمة تجزئة قابلة للحفظ يتم إنشاؤها منNavEntry.key(I81a6c وb/422001357 وb/420991203 وI2d7d4 وb/420991203 وb/422841812)
التغييرات في الاعتماديات
- تعتمد Navigation3 الآن على العنصر الجديد
androidx.navigationevent.compose.
الإصدار 1.0.0-alpha03
4 يونيو 2025
تم طرح androidx.navigation3:navigation3-*:1.0.0-alpha03. يتضمّن الإصدار 1.0.0-alpha03 هذه التعديلات.
إصلاح الأخطاء
- لن يمحو
Navigation3حالات أداة الزخرفة للعناصرbackStacksالتي تم استبدالها بنسخة أخرى منbackStack. (I28a42، b/415076044)
الإصدار 1.0.0-alpha02
23 مايو 2025
تم طرح androidx.navigation3:navigation3-*:1.0.0-alpha02. يتضمّن الإصدار 1.0.0-alpha02 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح مشكلة في
SavedStateNavEntryDecoratorتسبّبت في حدوث تعارضات لفئات بيانات مختلفة لها قيم السمات نفسها. (b/418070648، Iff4775) - تم إصلاح مشكلة عدم توفّر فئة كانت تؤدي إلى حدوث أعطال عند التشغيل بدون تحديد التبعيات بشكل صريح. (b/419049149, I4b4ed)
الإصدار 1.0.0-alpha01
20 مايو 2025
تم طرح androidx.navigation3:navigation3-*:1.0.0-alpha01. يتضمّن الإصدار 1.0.0-alpha01 هذه التعديلات.
الميزات الجديدة
Navigation3 هي مكتبة تنقّل جديدة مصمَّمة خصيصًا للتعامل مع التنقّل داخل التطبيقات المطوَّرة بواسطة Jetpack Compose. يوفر العنصر androidx.navigation3.runtime اللبنات الأساسية، بينما يوفّر العنصر androidx.navigation3.ui طبقة واجهة المستخدم من خلال واجهة برمجة التطبيقات NavDisplay. يمكن للمطوّرين تقديم حالتهم الخاصة مباشرةً إلى الدالة القابلة للإنشاء NavDisplay، ما يؤدي إلى تغيير المحتوى استنادًا إلى التغييرات في حالة المطوّر.
@Serialiable object Home : NavKey
@Serialiable object Chat : NavKey
val backStack = rememberNavBackStack(Home)
NavDisplay(backStack, entryProvider = entryProvider {
entry<Home> {
Column {
Text(“Home”)
Button(onClick = { backStack.add(Chat) } ) {
Text(“Go to Chat”)
}
}
}
entry<Chat> { /* My Composable Content */ }
})
لمزيد من المعلومات، يمكنك الاطّلاع على دليل Navigation3.