کنترل کننده ناوبری یکی از مفاهیم کلیدی در ناوبری است. نمودار ناوبری را نگه میدارد و روشهایی را نشان میدهد که به برنامه شما اجازه میدهد بین مقصدهای موجود در نمودار حرکت کند.
هنگام استفاده از مؤلفه Navigation ، با استفاده از کلاس NavController
یک کنترلر ناوبری ایجاد می کنید. NavController
API مرکزی ناوبری است. این برنامه مقصدهایی را که کاربر بازدید کرده است را ردیابی می کند و به کاربر اجازه می دهد بین مقصد حرکت کند. این راهنما نحوه ایجاد NavController
در برنامه خود را نشان می دهد.
برای اطلاعات در مورد نحوه افزودن یک نمودار ناوبری به NavController
خود، به طراحی نمودار پیمایش خود مراجعه کنید. NavController
چند راه مختلف برای پیمایش به مقصد در نمودار خود ارائه می دهد. برای اطلاعات بیشتر، به پیمایش به مقصد مراجعه کنید.
نوشتن
برای ایجاد NavController
هنگام استفاده از Jetpack Compose، rememberNavController()
را فراخوانی کنید:
val navController = rememberNavController()
شما باید NavController
در سلسله مراتب قابل ترکیب خود ایجاد کنید. باید به اندازهای بالا باشد که همه اجزای سازندهای که باید به آن ارجاع دهند، بتوانند این کار را انجام دهند.
انجام این کار به شما امکان می دهد از NavController
به عنوان تنها منبع حقیقت برای به روز رسانی اجزای سازنده خارج از صفحه نمایش خود استفاده کنید. این از اصول بالا بردن حالت ایالت پیروی می کند.
بازدیدها
اگر از چارچوب Views UI استفاده می کنید، می توانید NavController خود را با استفاده از یکی از روش های زیر بسته به زمینه بازیابی کنید:
کاتلین:
جاوا:
-
NavHostFragment.findNavController(Fragment)
-
Navigation.findNavController(Activity, @IdRes int viewId)
-
Navigation.findNavController(View)
به طور معمول، ابتدا یک NavHostFragment
دریافت می کنید و سپس NavController
از قطعه بازیابی می کنید. قطعه زیر این را نشان می دهد:
کاتلین
val navHostFragment =
supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController
جاوا
NavHostFragment navHostFragment =
(NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
NavController navController = navHostFragment.getNavController();
در ادامه مطلب
- نمودار ناوبری خود را طراحی کنید : راهنمای جزئیات نحوه افزودن یک نمودار به
NavController
خود که شامل تمام مقصدهای برنامه شما باشد. - پیمایش به مقصد : راهنمای نحوه استفاده از
NavController
برای حرکت بین مقصدها در نمودار ناوبری.