navigation3

  
Navigation 3 adalah library navigasi baru yang dirancang untuk bekerja dengan Compose.
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
2 Juli 2025 - - - 1.0.0-alpha05

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada navigation3, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

Groovy

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")
}

Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Tidak ada catatan rilis untuk artefak ini.

Versi 1.0

Versi 1.0.0-alpha05

2 Juli 2025

androidx.navigation3:navigation3-*:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.

Perubahan Perilaku

  • Status NavEntry kini sepenuhnya didasarkan pada daftar dekorator saat ini yang diteruskan ke NavDisplay. Artinya, dekorator harus ditukar bersama data sebelumnya jika ada beberapa data sebelumnya untuk mempertahankan status NavEntry pada data sebelumnya. Jika tidak, status akan dihapus seolah-olah entri dikeluarkan (bukan ditukar). (I7a759, b/428033667)

Versi 1.0.0-alpha04

18 Juni 2025

androidx.navigation3:navigation3-*:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit ini.

Perubahan API

  • NavEntry.content kini bersifat pribadi. Untuk memanggil konten NavEntry, panggil API NavEntry.Content() baru yang tidak lagi memerlukan parameter key untuk dipanggil. (Icd0fd, b/420991203)
  • NavEntry.key kini menjadi kolom pribadi. NavEntry dan status relevannya harus diidentifikasi oleh kolom contentKey baru yang dihasilkan dari lambda contentKeyFactory baru dan secara default menggunakan hash yang dapat disimpan yang dihasilkan dari NavEntry.key (I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812)

Perubahan Dependensi

  • Navigation3 kini bergantung pada artefak androidx.navigationevent.compose yang baru.

Versi 1.0.0-alpha03

4 Juni 2025

androidx.navigation3:navigation3-*:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit ini.

Perbaikan Bug

  • Navigation3 tidak akan lagi menghapus status dekorator untuk backStacks yang telah ditukar dan diganti dengan instance backStack lain. (I28a42, b/415076044)

Versi 1.0.0-alpha02

23 Mei 2025

androidx.navigation3:navigation3-*:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.

Perbaikan Bug

  • Memperbaiki masalah pada SavedStateNavEntryDecorator yang menyebabkan konflik untuk berbagai class data dengan nilai properti yang sama. (b/418070648, Iff4775)
  • Memperbaiki masalah class yang hilang yang akan menyebabkan error saat dijalankan tanpa mendeklarasikan dependensi eksplisit. (b/419049149, I4b4ed)

Versi 1.0.0-alpha01

20 Mei 2025

androidx.navigation3:navigation3-*:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.

Fitur Baru

Navigation3 adalah library navigasi baru yang dibuat khusus untuk menangani navigasi dalam aplikasi Jetpack Compose. Artefak androidx.navigation3.runtime menyediakan blok penyusun, sedangkan artefak androidx.navigation3.ui menyediakan lapisan UI melalui NavDisplay API. Developer dapat memberikan statusnya sendiri langsung ke fungsi composable NavDisplay, yang mengubah konten berdasarkan perubahan status developer.

@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 */ }
})

Untuk mengetahui informasi selengkapnya, lihat panduan Navigation3.