Android Jetpack'teki Gezinme bileşeni, Jetpack Compose uygulamaları için destek sağlar. Gezinme bileşeninin altyapısından ve özelliklerinden yararlanırken composable'lar arasında gezinebilirsiniz.
Bu sayfada, Wear OS için Compose'da Jetpack Navigasyon ile ilgili farklılıklar açıklanmaktadır.
Kurulum
Uygulama modülünüzün build.gradle dosyasında aşağıdaki bağımlılığı kullanın:
Kotlin
dependencies { def wear_compose_version = "1.3.1" implementation "androidx.wear.compose:compose-navigation:$wear_compose_version" }
Bu, Wear OS'e özel alternatif uygulamalar sunduğundan androidx.navigation:navigation-compose
yapısının yerine kullanılır.
Gezinme denetleyicisi, ana makinesi ve grafik oluşturun
Wear OS için Compose ile gezinmek için Wear OS dışı uygulamalarda gereken üç bileşen gerekir: gezinme denetleyicisi, ana makine ve grafik.
Wear OS uygulamalarına uygun olan bir NavController
uygulaması olan WearNavigator
örneğini oluşturmak için rememberSwipeDismissableNavController()
işlevini kullanın:
Kotlin
val navController = rememberSwipeDismissableNavController()
NavController
, Compose uygulamalarında gezinmek için kullanılan birincil API'dir. Wear OS'te SwipeDismissableNavHost
olan gezinme ana makinesinde composable'lar arasında gezinmeyi kontrol eder.
Kotlin
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "message_list" ) { // TODO: build navigation graph }
NavHost
composable'da olduğu gibi, gezinme denetleyicisine, başlangıç hedefinin rotasına ve burada izleyen lambda olarak gösterilen gezinme grafiğine ait oluşturucuya referans verir.
Başlangıç hedefi, gezinme grafiği oluşturucuda ve gezinme denetleyicisiyle gidilebilmesi gereken diğer tüm hedeflerde sağlanmalıdır.
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 Navigasyon hakkında daha fazla bilgi edinmek için Compose ile gezinme sayfasına bakın veya Jetpack Compose navigasyon kodu laboratuvarına katılın.
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir
- Jetpack Gezinme'yi Gezinme Oluşturma'ya taşıma
- Compose ile gezinme
- E-posta Yaz ile ekranlar arasında gezinme