Để bắt đầu sử dụng Navigation 3, hãy thêm thư viện này vào dự án cùng với mọi thư viện hỗ trợ. Hãy tham khảo bảng bên dưới để quyết định thêm thư viện nào.
Tệp phần mềm
Tên |
Chức năng |
Cấu phần phần mềm |
---|---|---|
Thư viện thời gian chạy Navigation 3 |
API Core Navigation 3. Bao gồm |
androidx.navigation3:navigation3-runtime |
Thư viện giao diện người dùng Navigation 3 |
Cung cấp các lớp để hiển thị nội dung, bao gồm |
androidx.navigation3:navigation3-ui |
Vòng đời ViewModel cho Navigation 3 |
Cho phép ViewModels được giới hạn trong các mục trong ngăn xếp lui. |
androidx.lifecycle:lifecycle-viewmodel-navigation3 Có trong các bản dựng tổng quan nhanh |
Bố cục thích ứng Material 3 cho Navigation 3 |
Cung cấp bố cục thích ứng (SceneStrategies, Scenes và định nghĩa siêu dữ liệu) để sử dụng với NavDisplay. |
androidx.compose.material3.adaptive:adaptive-navigation3 Có trong các bản dựng tổng quan nhanh |
Cho phép chuyển đổi tuần tự các phím điều hướng. |
Trình bổ trợ: org.jetbrains.kotlin.plugin.serialization Thư viện: org.jetbrains.kotlinx:kotlinx-serialization-core org.jetbrains.kotlinx:kotlinx-serialization-json |
Thiết lập dự án
Để thêm thư viện Navigation 3 vào dự án hiện có, hãy thêm nội dung sau vào libs.versions.toml
:
[versions]
nav3Core = "1.0.0-alpha01"
nav3Material = "1.0.0-SNAPSHOT"
nav3Lifecycle = "1.0.0-alpha01"
kotlinSerialization = "2.1.21"
kotlinxSerializationCore = "1.8.1"
[libraries]
# Core Navigation 3 libraries
androidx-navigation3-runtime = { module = "androidx.navigation3:navigation3-runtime", version.ref = "nav3Core" }
androidx-navigation3-ui = { module = "androidx.navigation3:navigation3-ui", version.ref = "nav3Core" }
# Optional add-on libraries
androidx-material3-navigation3 = { group = "androidx.compose.material3.adaptive", name = "adaptive-navigation3", version.ref = "nav3Material" }
androidx-lifecycle-viewmodel-navigation3 = { module = "androidx.lifecycle:lifecycle-viewmodel-navigation3", version.ref = "nav3Lifecycle" }
kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlinxSerializationCore" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationCore" }
[plugins]
# Optional plugins
jetbrains-kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlinSerialization"}
Thêm nội dung sau vào tệp bản dựng ứng dụng app/build.gradle.kts
:
plugins {
...
// Optional, provides the @Serialize annotation for autogeneration of Serializers.
alias(libs.plugins.jetbrains.kotlin.serialization)
}
dependencies {
...
implementation(libs.androidx.navigation3)
implementation(libs.androidx.lifecycle.viewmodel.navigation3)
implementation(libs.androidx.material3.navigation3)
implementation(libs.kotlinx.serialization.core)
implementation(libs.kotlinx.serialization.json)
}