Android Jetpack'teki Gezinme bileşeni, Jetpack Compose uygulamalarına destek sağlar. Navigasyon bileşeninin altyapısından ve özelliklerinden yararlanarak bileşenler 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.4.0" implementation "androidx.wear.compose:compose-navigation:$wear_compose_version" }
Wear OS'e özel alternatif uygulamalar sağladığı için androidx.navigation:navigation-compose
yapının yerine kullanılır.
Gezinme denetleyicisi, ana makine ve grafik oluşturma
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 bir NavController
uygulaması olan WearNavigator
örneği oluşturmak için rememberSwipeDismissableNavController()
kullanın:
Kotlin
val navController = rememberSwipeDismissableNavController()
NavController
, Oluştur uygulamalarında gezinmek için kullanılan birincil API'dir. Navigasyon ana makinesinde, Wear OS'te SwipeDismissableNavHost
olan bileşenler arasında gezinmeyi kontrol eder.
Kotlin
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "message_list" ) { // TODO: build navigation graph }
NavHost
bileşeni gibi, navigasyon denetleyicisine, başlangıç hedefinin rotasına ve burada son lambda olarak gösterilen navigasyon grafiğinin oluşturucusuna referans alır.
Başlangıç hedefi, gezinme grafik oluşturucuda, gezinme denetleyicisiyle gezinilebilen diğer tüm hedeflerle birlikte sağlanmalıdır.
Wear OS uygulamanızda zaman, kaydırma/konum göstergesi ve sayfa göstergesi gibi üst düzey bileşenleri desteklemek için SwipeDismissableNavHost
öğesini Scaffold
içeriği olarak beyan edin.
Varsayılan olarak ekrana bir TimeText
nesnesi eklemek ve ekranlar arasında gezinirken doğru şekilde animasyonlu olarak görünmesini sağlamak için SwipeDismissableNavHost
üzerinde bir Saatçi AppScaffold
nesnesi ve ekran düzeyinde bir Saatçi ScreenScaffold
nesnesi kullanın.
Ayrıca ScreenScaffold
, kaydırılabilir içerikler için bir PositionIndicator
ekler.
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 hakkında daha fazla bilgi edinmek için Compose ile gezinme başlıklı makaleyi inceleyin veya Jetpack Compose Navigation kod laboratuvarını tamamlayın.
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir
- Jetpack Navigation'ı Navigation Compose'a taşıma
- Compose ile gezinme
- Oluştur ile ekranlar arasında gezinme