يُعدّ عنصر التحكّم في التنقّل أحد المفاهيم الأساسية في التنقّل. يحتوي هذا المكوّن على الرسم البياني للتنقّل ويعرض طرقًا تتيح لتطبيقك التنقّل بين الوجهات في الرسم البياني.
عند استخدام مكوّن التنقّل، يمكنك إنشاء أداة تحكّم في التنقّل باستخدام الفئة NavController. NavController هي واجهة برمجة التطبيقات المركزية للتنقّل. يتتبّع هذا الإعداد الوجهات التي زارها المستخدم، ويسمح له بالتنقّل بينها. يوضّح هذا الدليل كيفية إنشاء NavController في تطبيقك.
للحصول على معلومات حول كيفية إضافة رسم بياني للتنقّل إلى NavController، يُرجى الاطّلاع على
تصميم رسم بياني للتنقّل. توفّر NavController بضع طرق مختلفة للتنقّل إلى الوجهات في الرسم البياني. لمزيد من المعلومات، يُرجى الاطّلاع على الانتقال إلى وجهة.
إنشاء
لإنشاء NavController عند استخدام Jetpack Compose، استدعِ الدالة
rememberNavController():
val navController = rememberNavController()
يجب إنشاء NavController في أعلى التسلسل الهرمي القابل للإنشاء. يجب أن تكون القيمة كبيرة بما يكفي لكي تتمكّن جميع العناصر القابلة للإنشاء التي تحتاج إلى الرجوع إليها من ذلك.
يتيح لك ذلك استخدام NavController كمصدر واحد للحقيقة من أجل تعديل العناصر القابلة للإنشاء خارج شاشاتك. ويتبع ذلك مبادئ
نقل الحالة.
المشاهدات
إذا كنت تستخدم إطار عمل واجهة المستخدم المستند إلى Views، يمكنك استرداد 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للتنقّل بين الوجهات في الرسم البياني للتنقّل