Navigasyon bileşeni, Android işletim sistemiyle birlikte çalışarak geri yığını emin olmanız gerekir. Bazı durumlarda, tek seferde birden fazla öğeyi kullanıcı aralarında geçiş yaparak aynı anda geri yığınlar oluşturur. Örneğin, uygulamanız alt gezinme veya gezinme çekmece, birden fazla arka yığın desteği, kullanıcılarınızın uygulamanızdaki akışlar arasında serbestçe geçiş yapmasını sağlar. kaybetmemesi sağlanır.
Gezinme bileşeni, Google Ads'deki birden çok arka yığını destekleyen
navigasyonunuzdaki hedeflerin durumunu kaydetme ve geri yükleme
grafiği de bulabilirsiniz. İlgili içeriği oluşturmak için kullanılan
NavigationUI
sınıf şunları içeriyor
bunu otomatik olarak yapan yöntemleri kullanabilirsiniz, ancak aynı zamanda temel API'leri de
manuel olarak manuel olarak değiştirebilirsiniz.
NavigationUI ile desteği otomatik olarak uygulayın
NavigationUI
sınıfı
aşağıdaki gibi menü öğelerinin durumunu otomatik olarak kaydeden ve geri yükleyen API'leri içerir:
hareket etmesini sağlar. Bu API'ler, aşağıdaki adımları uygulayarak birden çok arkadan yığın desteği uygular:
varsayılan olarak ayarlayabilirsiniz:
- Uygun aşırı yüklemeyi kullandığınızda
setupWithNavController()
NavigationView
veyaBottomNavigationView
örneklerini birNavController
örneği, Gezinme ekleme çekmece veya Alt gezinme. - Bunu kullandığınızda
onNavDestinationSelected()
özel gezinme menüsü oluşturmak için Barındırılan hedeflere bağlı kullanıcı arayüzüNavController
örneği tarafından.
Bu API'lerde birden fazla arka yığını uygulamak için başka kod değişikliği gerekmez birden çok sırt yığınını desteklemenin önerilen yoludur. uygulamasını indirin.
Temel API'lerle desteği manuel olarak uygulayın
NavigationUI
tarafından sağlanan öğeler gereksinimlerinizi karşılamıyorsa
Gezinme bileşeni tarafından sağlanan diğer API yüzeyleri.
Gezinme XML
Gezinme XML'de, gezinme grafiğinizdeki <action>
öğeleri
Hedefin durumunu kaydetmek için app:popUpToSaveState
özelliğini
işlem app:popUpTo
kullanılarak açıldı. Ayrıca, app:restoreState
özelliğini kullanın.
app:destination
özelliği.
Birden çok arka yığını desteklemek için bu özellikleri kullanabilirsiniz. Bir navigasyon
işlemin kullanıcıyı bir arka yığından diğerine taşıması gerekir;
app:popUpToSaveState
ve app:restoreState
ile true
arasında
<action>
öğesi. Bu şekilde, işlem mevcut geri dönen kullanıcının durumunu kaydeder
yığının önceden kaydedilmiş durumunu da geri yükler
üst üste dizdir.
Aşağıdaki örnekte bu iki özelliğin de kullanıldığı bir işlem gösterilmektedir:
<action
android:id=”@+id/swap_stack”
app:destination=”@id/second_stack”
app:restoreState=”true”
app:popUpTo=”@id/first_stack_start_destination”
app:popUpToSaveState=”true” />
Gezinme Seçenekleri
NavOptions
sınıfı
Yığınları kaydetmek ve geri yüklemek için özel gezinme seçenekleri iletmenize olanak tanır
NavController
kullanarak gezinebilirsiniz. Bu durum,
Kotlin kullanan NavOptions
örneği
DSL veya
NavOptions.Builder
:
Kotlin
// Use the navigate() method that takes a navOptions DSL Builder navController.navigate(selectedBottomNavRoute) { launchSingleTop = true restoreState = true popUpTo(navController.graph.findStartDestination().id) { saveState = true } }
Java
NavOptions navOptions = new NavOptions.Builder() .setLaunchSingleTop(true) .setRestoreState(true) .setPopUpTo(NavGraph.findStartDestination(navController.getGraph()).getId(), false, // inclusive true) // saveState .build(); navController.navigate(selectedBottomNavId, null, navOptions);
Gezinme seçeneklerini geçirme hakkında daha fazla bilgi edinmek için NavOptions'ı uygulama bölümüne bakın programatik olarak kullanılabilir.
Ek kaynaklar
Gezinme bileşeniyle birden çok arkadan yığın desteği hakkında daha fazla bilgi edinmek için aşağıdaki ek kaynakları inceleyin:
Blog yayınları
- MAD Becerileri: Birden çok geriye dönük yığınlarda gezinme Medium'da
- Gezinme: Birden Çok Arka Yığınla ilgili ayrıntılı inceleme Medium'da
Örnekler
- Artık Android'de uygulama GitHub'da
- Jetnews GitHub'da
- Jetnack GitHub'da