مؤلفه Navigation در Android Jetpack از برنامه های Jetpack Compose پشتیبانی می کند. میتوانید در حالی که از زیرساختها و ویژگیهای مؤلفه ناوبری بهره میبرید، بین اجزای سازنده حرکت کنید.
این صفحه تفاوتهای Jetpack Navigation در Compose for Wear OS را توضیح میدهد.
راه اندازی
از وابستگی زیر در فایل build.gradle ماژول برنامه خود استفاده کنید:
dependencies { def wear_compose_version = "1.4.1" implementation "androidx.wear.compose:compose-navigation:$wear_compose_version" }
این به جای مصنوع androidx.navigation:navigation-compose
استفاده میشود، زیرا پیادهسازیهای جایگزین مخصوص Wear OS را ارائه میدهد.
یک کنترلر ناوبری، میزبان و نمودار ایجاد کنید
پیمایش با Compose for Wear OS به همان سه جزء مورد نیاز در برنامههای غیر Wear OS نیاز دارد: کنترلکننده پیمایش، میزبان و نمودار.
برای ایجاد یک نمونه از WearNavigator
، یک پیادهسازی از NavController
مناسب برای برنامههای Wear OS، از rememberSwipeDismissableNavController()
استفاده کنید:
val navController = rememberSwipeDismissableNavController()
NavController
API اولیه ای است که برای پیمایش در برنامه های Compose استفاده می شود. پیمایش بین اجزای سازنده را در میزبان ناوبری کنترل می کند که در Wear OS SwipeDismissableNavHost
است.
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "message_list" ) { // TODO: build navigation graph }
مانند NavHost
composable ، به کنترل کننده ناوبری، مسیر برای مقصد شروع و سازنده گراف ناوبری که در اینجا به عنوان یک لامبدای انتهایی نشان داده شده است، اشاره می کند.
مقصد شروع باید در سازنده نمودار ناوبری، همراه با سایر مقاصدی که باید با کنترل کننده ناوبری قابل پیمایش باشد، ارائه شود.
در برنامه Wear OS خود، SwipeDismissableNavHost
به عنوان محتوایی از Scaffold
برای پشتیبانی از اجزای سطح بالا مانند زمان، نشانگر اسکرول/موقعیت و نشانگر صفحه اعلام کنید. از یک شیء Horologist AppScaffold
در بالای SwipeDismissableNavHost
و Horologist ScreenScaffold
در سطح صفحه استفاده کنید تا به طور پیشفرض یک شی TimeText
به صفحه اضافه کنید و مطمئن شوید که هنگام حرکت بین صفحهها به درستی متحرک میشود. علاوه بر این، ScreenScaffold
یک PositionIndicator
برای محتوای قابل پیمایش اضافه می کند.
AppScaffold { val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "message_list" ) { composable("message_list") { MessageList(onMessageClick = { id -> navController.navigate("message_detail/$id") }) } composable("message_detail/{id}") { MessageDetail(id = it.arguments?.getString("id")!!) } } } // ... // .. Screen level content goes here val scrollState = rememberScrollState() ScreenScaffold(scrollState = scrollState) { // Screen content goes here
برای کسب اطلاعات بیشتر درباره Jetpack Navigation، به پیمایش با نوشتن مراجعه کنید یا به آزمایشگاه کد پیمایش Jetpack Compose بروید.
{% کلمه به کلمه %}درحالحاضر هیچ توصیهای وجود ندارد.
وارد سیستم «حساب Google» خودتان شوید.