Navigation 3, Compose ile çalışmak üzere tasarlanmış yeni bir gezinme kitaplığıdır. Navigation 3 ile geri yığın üzerinde tam denetime sahip olursunuz. Hedeflere gidip gelmek, bir listeye öğe eklemek ve listeden öğe kaldırmak kadar kolaydır. Aşağıdakileri sağlayarak esnek bir uygulama gezinme sistemi oluşturur:
- Geri yığını modelleme kuralları. Geri yığınındaki her giriş, kullanıcının gittiği içeriği temsil eder.
- Geri yığın değişiklikleriyle (animasyonlar dahil) otomatik olarak güncellenen bir kullanıcı arayüzü
- Geri yığında bulunan öğeler için bir kapsam oluşturarak öğe geri yığında bulunduğu sürece durumun korunmasına olanak tanır.
- Birden fazla hedefin aynı anda gösterilmesine ve bu düzenler arasında sorunsuz geçiş yapılmasına olanak tanıyan uyarlanabilir bir düzen sistemi
- İçeriğin üst düzeniyle (meta veriler) iletişim kurmasını sağlayan bir mekanizma
Genel olarak, Navigation 3'ü aşağıdaki şekillerde uygularsınız:
- Kullanıcıların uygulamanızda gezinebileceği içerikleri, her biri benzersiz bir anahtarla tanımlayın ve bu anahtarı içerikle eşleştirecek bir işlev ekleyin. İçeriğe erişim sorunlarını çözme başlıklı makaleyi inceleyin.
- Kullanıcılar uygulamanızda gezinirken anahtarların gönderildiği ve kaldırıldığı bir geri yığın oluşturun. Geri yığın oluşturma başlıklı makaleyi inceleyin.
- Uygulamanızın geri yığınını görüntülemek için
NavDisplaykullanın. Arka yığın her değiştiğinde kullanıcı arayüzünü güncelleyerek alakalı içeriği gösterir. Geri yığınını görüntüleme başlıklı makaleyi inceleyin. - Uyumlu düzenleri ve farklı platformları desteklemek için
NavDisplay'nın sahne stratejilerini gerektiği gibi değiştirin.
Navigation 3'ün tam kaynak kodunu AOSP'de görebilirsiniz.
Jetpack Navigation'da yapılan iyileştirmeler
Navigation 3, orijinal Jetpack Navigation API'sini aşağıdaki şekillerde geliştirir:
- Compose ile daha basit bir entegrasyon sağlar.
- Geri yığın üzerinde tam kontrol sahibi olmanızı sağlar.
- Geri yığında aynı anda birden fazla hedefi okuyabilen düzenler oluşturulmasını sağlar. Bu sayede, pencere boyutundaki değişikliklere ve diğer girişlere uyum sağlayabilirler.
Navigation 3'ün ilkeleri ve API tasarım tercihleri hakkında daha fazla bilgiyi bu blog yayınında bulabilirsiniz.
Kod örnekleri
Tarifler deposunda, sık karşılaşılan gezinme sorunlarını çözmek için Navigation 3 yapı taşlarının nasıl kullanılacağına dair örnekler yer alır.