پیمایش با Compose for Wear OS

مؤلفه Navigation در Android Jetpack از برنامه های Jetpack Compose پشتیبانی می کند. می‌توانید در حالی که از زیرساخت‌ها و ویژگی‌های مؤلفه ناوبری بهره می‌برید، بین اجزای سازنده حرکت کنید.

این صفحه تفاوت‌های Jetpack Navigation در Compose for Wear OS را توضیح می‌دهد.

برپایی

از وابستگی زیر در فایل build.gradle ماژول برنامه خود استفاده کنید:

کاتلین


dependencies {
    def wear_compose_version = "1.3.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 ، به کنترل کننده ناوبری، مسیر برای مقصد شروع و سازنده گراف ناوبری که در اینجا به عنوان یک لامبدای انتهایی نشان داده شده است، اشاره می کند.

مقصد شروع باید در سازنده نمودار ناوبری، همراه با سایر مقاصدی که باید با کنترل کننده ناوبری قابل پیمایش باشد، ارائه شود.

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")!!)
    }
}

برای کسب اطلاعات بیشتر درباره Jetpack Navigation، به پیمایش با نوشتن مراجعه کنید یا به آزمایشگاه کد پیمایش Jetpack Compose بروید.

{% کلمه به کلمه %} {% آخر کلمه %} {% کلمه به کلمه %} {% آخر کلمه %}