مؤلفه Navigation در Android Jetpack از برنامه های Jetpack Compose پشتیبانی می کند. میتوانید در حالی که از زیرساختها و ویژگیهای مؤلفه ناوبری بهره میبرید، بین اجزای سازنده حرکت کنید.
این صفحه تفاوتهای Jetpack Navigation در Compose for Wear OS را توضیح میدهد.
راه اندازی
از وابستگی زیر در فایل build.gradle ماژول برنامه خود استفاده کنید:
کاتلین
dependencies { def wear_compose_version = "1.4.0" 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 بروید.
{% کلمه به کلمه %}برای شما توصیه می شود
- توجه: وقتی جاوا اسکریپت خاموش است، متن پیوند نمایش داده می شود
- Jetpack Navigation را به Navigation Compose منتقل کنید
- پیمایش با نوشتن
- با Compose بین صفحهها پیمایش کنید
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2024-11-19 بهوقت ساعت هماهنگ جهانی.