navigation3

  
Navigation 3, Compose ile çalışmak üzere tasarlanmış yeni bir gezinme kitaplığıdır.
Son Güncelleme Kararlı sürüm Sürüm Adayı Beta Sürümü Alfa sürümü
2 Temmuz 2025 - - - 1.0.0-alpha05

Bağımlılıkları bildirme

navigation3'e bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.

Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:

Eski

dependencies {
    implementation "androidx.navigation3.navigation3-runtime:1.0.0-alpha05"
    implementation "androidx.navigation3.navigation3-ui:1.0.0-alpha05"
}

Kotlin

dependencies {
    implementation("androidx.navigation3.navigation3-runtime:1.0.0-alpha05")
    implementation("androidx.navigation3.navigation3-ui:1.0.0-alpha05")
}

Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz olursa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.

Bu yapıyla ilgili sürüm notu yok.

Sürüm 1.0

Sürüm 1.0.0-alpha05

2 Temmuz 2025

androidx.navigation3:navigation3-*:1.0.0-alpha05 iptal edilir. 1.0.0-alpha05 sürümü bu commit'leri içerir.

Davranış Değişiklikleri

  • NavEntry'nın durumu artık kesinlikle NavDisplay'ya iletilen mevcut dekoratörler listesine dayanmaktadır. Bu, geri yığınında NavEntry'lerin durumunu korumak için birden fazla geri yığını olması durumunda süslemelerin geri yığınlarınız boyunca değiştirilmesi gerektiği anlamına gelir. Aksi takdirde, girişler değiştirilmiş gibi değil, çıkarılmış gibi temizlenir. (I7a759, b/428033667)

Sürüm 1.0.0-alpha04

18 Haziran 2025

androidx.navigation3:navigation3-*:1.0.0-alpha04 iptal edilir. 1.0.0-alpha04 sürümü bu commit'leri içerir.

API Değişiklikleri

  • NavEntry.content artık gizli. NavEntry içeriğini çağırmak için artık çağırmak için key parametresi gerektirmeyen yeni NavEntry.Content() API'sini çağırın. (Icd0fd, b/420991203)
  • NavEntry.key artık özel bir alan. NavEntry ve ilgili durumları, yeni contentKeyFactory lambda'dan oluşturulan ve NavEntry.key'den oluşturulan kaydedilebilir bir karma ile varsayılan olarak ayarlanan yeni contentKey alanı tarafından tanımlanmalıdır (I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812)

Bağımlılık Değişiklikleri

  • Navigation3 artık yeni androidx.navigationevent.compose yapay ürününe bağlıdır.

Sürüm 1.0.0-alpha03

4 Haziran 2025

androidx.navigation3:navigation3-*:1.0.0-alpha03 iptal edilir. Sürüm 1.0.0-alpha03, bu commit'leri içerir.

Hata Düzeltmeleri

  • Navigation3, artık değiştirilip başka bir backStack örneğiyle değiştirilen backStacks için dekoratör durumlarını temizlemeyecek. (I28a42, b/415076044)

Sürüm 1.0.0-alpha02

23 Mayıs 2025

androidx.navigation3:navigation3-*:1.0.0-alpha02 iptal edilir. 1.0.0-alpha02 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • SavedStateNavEntryDecorator ile ilgili, aynı özellik değerlerine sahip farklı veri sınıflarında çakışmalara neden olan bir sorun düzeltildi. (b/418070648, Iff4775)
  • Açık bağımlılıklar bildirilmeden çalıştırıldığında kilitlenmelere neden olan eksik sınıf sorunu düzeltildi. (b/419049149, I4b4ed)

Sürüm 1.0.0-alpha01

20 Mayıs 2025

androidx.navigation3:navigation3-*:1.0.0-alpha01 iptal edilir. 1.0.0-alpha01 sürümü bu commit'leri içerir.

Yeni Özellikler

Navigation3, Jetpack Compose uygulama içi gezinmesini işlemek için özel olarak oluşturulmuş yeni bir gezinme kitaplığıdır. androidx.navigation3.runtime yapısı, yapı taşlarını sağlarken androidx.navigation3.ui yapısı, NavDisplay API'si aracılığıyla kullanıcı arayüzü katmanını sağlar. Geliştiriciler, kendi durumlarını doğrudan NavDisplay composable işlevine sağlayabilir. Bu işlev, geliştirici durumundaki değişikliklere göre içeriği değiştirir.

@Serialiable object Home : NavKey
@Serialiable object Chat : NavKey

val backStack = rememberNavBackStack(Home)

NavDisplay(backStack, entryProvider = entryProvider {
  entry<Home> {
    Column {
      Text(Home)
      Button(onClick = { backStack.add(Chat) } ) {
        Text(Go to Chat)
      } 
    }
  }
  entry<Chat> { /* My Composable Content */ }
})

Daha fazla bilgi için Navigation3 kılavuzuna bakın.