وحدة التحكم في التنقل هي أحد المفاهيم الرئيسية في التنقل. أُنشأها جون هنتر، الذي كان متخصصًا يحمل الرسم البياني للتنقل ويعرض الطرق التي تسمح للتطبيق بالتحرّك بين الوجهات في الرسم البياني.
عند استخدام مكوِّن التنقل، يمكنك إنشاء وحدة تحكم في التنقل
باستخدام الفئة NavController
. NavController
هو المركز
واجهة برمجة تطبيقات التنقل. تتتبّع الوجهات التي زارها المستخدم، وتسمح
المستخدم للتنقل بين الوجهات. يوضح هذا الدليل كيفية إنشاء
NavController
في تطبيقك
للحصول على معلومات حول كيفية إضافة رسم بياني للتنقّل إلى NavController
، يمكنك الاطّلاع على
تصميم الرسم البياني للتنقل. بإمكان "NavController
" تقديم بضع طرق مختلفة
الانتقال إلى الوجهات في الرسم البياني لمزيد من المعلومات، راجع الانتقال إلى
الوجهة.
إنشاء
لإنشاء NavController
عند استخدام Jetpack Compose، اطلب
rememberNavController()
:
val navController = rememberNavController()
يجب أن تنشئ NavController
في ترتيب مرتفع ضمن التدرّج الهرمي القابل للإنشاء. أُنشأها جون هنتر، الذي كان متخصصًا
يجب أن يكون عاليًا بما يكفي بحيث يمكن لجميع العناصر القابلة للإنشاء التي تحتاج إلى الرجوع إليها
القيام بذلك.
يتيح لك ذلك استخدام NavController
كمصدر وحيد للحقيقة
وتحديث العناصر القابلة للإنشاء خارج شاشاتك. يتبع هذا مبادئ
نقل الحالة.
المشاهدات
إذا كنت تستخدم إطار عمل واجهة مستخدم طرق العرض، يمكنك استرداد NavController باستخدام إحدى الطرق التالية حسب السياق:
Kotlin:
Java:
NavHostFragment.findNavController(Fragment)
Navigation.findNavController(Activity, @IdRes int viewId)
Navigation.findNavController(View)
عادةً ما تحصل على NavHostFragment
أولاً، ثم تسترد
NavController
من الجزء. ويوضّح المقتطف التالي هذا:
Kotlin
val navHostFragment =
supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController
Java
NavHostFragment navHostFragment =
(NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
NavController navController = navHostFragment.getNavController();
محتوى إضافي للقراءة
- تصميم رسم بياني للتنقّل: دليل يفصّل كيفية إضافة رسم بياني
إلى
NavController
الذي يحتوي على جميع الوجهات في تطبيقك. - الانتقال إلى وجهة معيّنة: دليل يفصّل كيفية استخدام
NavController
للتنقل بين الوجهات في الرسم البياني للتنقل.