Navigation 3 هي مكتبة تنقّل جديدة مصمَّمة للعمل مع Compose. باستخدام Navigation 3، يمكنك التحكّم بشكل كامل في سجلّ الرجوع، كما أنّ الانتقال إلى الوجهات والرجوع منها بسيط مثل إضافة عناصر إلى قائمة وإزالتها منها. ويوفّر نظامًا مرنًا للتنقل في التطبيق من خلال ما يلي:
- اتّفاقيات تصميم نموذج لمكدس الرجوع، حيث يمثّل كل إدخال في مكدس الرجوع المحتوى الذي انتقل إليه المستخدم
- واجهة مستخدم يتم تعديلها تلقائيًا عند إجراء تغييرات على سجلّ الرجوع (بما في ذلك الرسوم المتحركة)
- نطاق للعناصر في سجلّ الرجوع، ما يسمح بالاحتفاظ بالحالة أثناء وجود عنصر في سجلّ الرجوع
- نظام تنسيق متكيّف يتيح عرض وجهات متعدّدة في الوقت نفسه، ويتيح التبديل بسلاسة بين هذه التنسيقات
- آلية تتيح للمحتوى التواصل مع التنسيق الرئيسي (البيانات الوصفية)
على مستوى عالٍ، يمكنك تنفيذ Navigation 3 بالطرق التالية:
- حدِّد المحتوى الذي يمكن للمستخدمين الانتقال إليه في تطبيقك، مع مفتاح فريد لكل محتوى، وأضِف دالة لتحويل هذا المفتاح إلى المحتوى. اطّلِع على حلّ المفاتيح للوصول إلى المحتوى.
- أنشئ حزمة احتياطية يتم إدراج المفاتيح فيها وإزالتها أثناء تنقّل المستخدمين في تطبيقك. اطّلِع على إنشاء حزمة احتياطية.
- استخدِم
NavDisplayلعرض سجلّ الرجوع في تطبيقك. عندما يتغير سجلّ الرجوع، يتم تعديل واجهة المستخدم لعرض المحتوى ذي الصلة. راجِع عرض سجلّ الرجوع. - عدِّل استراتيجيات المشهد في
NavDisplayحسب الحاجة لإتاحة التصاميم التكيّفية والأنظمة الأساسية المختلفة.
يمكنك الاطّلاع على رمز المصدر الكامل الخاص بـ Navigation 3 على AOSP.
تحسينات على Jetpack Navigation
يقدّم الإصدار 3 من Navigation تحسينات على واجهة برمجة التطبيقات الأصلية الخاصة بمكوّن Jetpack Navigation، وذلك من خلال ما يلي:
- توفير عملية دمج أبسط مع Compose
- يمنحك تحكّمًا كاملاً في سجلّ الرجوع
- يتيح إنشاء تنسيقات يمكنها قراءة أكثر من وجهة واحدة من حزمة الخلفية في الوقت نفسه، ما يسمح لها بالتكيّف مع التغييرات في حجم النافذة وغيرها من المدخلات.
يمكنك الاطّلاع على مزيد من المعلومات حول مبادئ Navigation 3 وخيارات تصميم واجهة برمجة التطبيقات في منشور المدونة هذا.
عيّنات التعليمات البرمجية
يحتوي مستودع وصفات على أمثلة حول كيفية استخدام اللبنات الأساسية في Navigation 3 لحلّ مشاكل التنقّل الشائعة.