navigation3
העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
---|---|---|---|---|
27 באוגוסט 2025 | - | - | - | 1.0.0-alpha08 |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-Navigation3, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.
מוסיפים את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle
של האפליקציה או המודול:
Groovy
dependencies { implementation "androidx.navigation3:navigation3-runtime:1.0.0-alpha08" implementation "androidx.navigation3:navigation3-ui:1.0.0-alpha08" }
Kotlin
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.0.0-alpha08") implementation("androidx.navigation3:navigation3-ui:1.0.0-alpha08") }
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ב-Build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לשמוע מכם אם תגלו בעיות חדשות או אם יש לכם רעיונות לשיפור הספרייה הזו. לפני שיוצרים ספרייה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להוסיף את ההצבעה שלכם לבעיה קיימת, לוחצים על לחצן הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא כלי המעקב אחר בעיות.
אין הערות לגבי הגרסה של הארטיפקט הזה.
גירסה 1.0
גרסה 1.0.0-alpha08
27 באוגוסט 2025
androidx.navigation3:navigation3-*:1.0.0-alpha08
משוחרר. גרסה 1.0.0-alpha08 מכילה את הקומטים האלה.
תכונות חדשות
- נוספו יעדים חדשים של Kotlin MultiPlatform (KMP) לארטיפקטים של
Navigation3 Runtime
. Navigation3 Runtime
תומך עכשיו בפלטפורמות הבאות: JVM (Android ומחשב), Native (Linux, iOS, watchOS, macOS, MinGW) ו-Web (JavaScript, WasmJS). (I55078, b/424410398, b/419294028, b/419046226). הערה: הפקודה הזו לא מספקת יעדי KMP עבורNavigation3 UI
artifact. בפלטפורמות אחרות, תצטרכו להטמיעNavDisplay
משלכם בהתאמה אישית. אם רוצים שהתמיכה תתווסף, אפשר להצביע על הבעיה ב-Jetbrains כאן ולעקוב אחרי ההתקדמות לקבלת תמיכה נוספת. - האובייקט
NavDisplayInfo
עכשיו ציבורי ואפשר להשתמש בו כדי לאחזר את רשימת הרשומות שגלויות מ-NavDisplay
. (Ibc91f)
שינויים ב-API
- נוסף
NavBackStackSerializer
חדש לשימוש בשילוב עםrememberNavBackStack
כדי לבצע שחזור של מצב. הפונקציהrememberNavBackStack()
מקבלת עכשיו גם את הארגומנטSavedStateConfiguration
שאפשר להשתמש בו כדי לספק הגדרה משלכם. (I2f4d2, I4cd58, b/420443609)
תיקוני באגים
- תוקנה בעיה שבה ניווט גרם להפעלת אירועים שגויים של מחזור החיים. (I8bf6d, b/425901162, b/434109022)
בעיות מוכרות
- באג שנוצר על ידי I8bf6d גרם לכך שמחזורי החיים התבססו על סצנות במקום על רשומות נפרדות. הבאג הזה גרם לבעיה במחזורי החיים של סצנות עם כמה מסכים, והוא תוקן בגרסה הבאה. (b/440145700)
גרסה 1.0.0-alpha07
13 באוגוסט 2025
androidx.navigation3:navigation3-*:1.0.0-alpha07
משוחרר. גרסה 1.0.0-alpha07 מכילה את הקומטים האלה.
עדכון MinSdk
- הערך שמוגדר כברירת מחדל ל-minSdk ב-AndroidX הועבר מ-API 21 ל-API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
שינויים ב-API
-
SavedStateNavEntryDecorator
משתמש עכשיו ב-SaveableStateRegistry
שמוטמע ב-SaveableStateProvider
כדי לשמור ולשחזר מצבים. (If8d9a) - הפרמטר
predictivePopTransitionSpec
מועבר עכשיו כפרמטר של החלקה מהקצה, וכך אפשר להתאים אישית את המעבר בהתאם לקצה שממנו המשתמש התחיל את תנועת החיזוי של החזרה. (I753a8)
תיקוני באגים
- תוקנה בעיה שגרמה לחישוב אינסופי של סצנות בהתאמה אישית, כי המערכת לא זכרה את הסצנה האחרונה. (I7ba84, b/418153031)
עדכון תלות
- Navigation3 מסתמך עכשיו על Navigation Event
1.0.0-alpha06
.
גרסה 1.0.0-alpha06
30 ביולי 2025
androidx.navigation3:navigation3-*:1.0.0-alpha06
משוחרר. גרסה 1.0.0-alpha06 מכילה את הקומטים האלה.
עדכון תלות
- Navigation3 מסתמך עכשיו על Navigation Event
1.0.0-alpha05
.
גרסה 1.0.0-alpha05
2 ביולי 2025
androidx.navigation3:navigation3-*:1.0.0-alpha05
משוחרר. גרסה 1.0.0-alpha05 מכילה את הקומטים האלה.
שינויים בהתנהגות
- הסטטוס של
NavEntry
מבוסס עכשיו באופן בלעדי על הרשימה הנוכחית של מעצבים שמועברת אלNavDisplay
. המשמעות היא שאם יש כמה מחסניות של היסטוריית ניווט, צריך להחליף את ה-Decorators לאורך מחסניות היסטוריית הניווט כדי לשמור על המצב של NavEntry במחסנית היסטוריית הניווט. אחרת, המצבים ינוקו כאילו הרשומות הוצאו מהמחסנית (במקום החלפה). (I7a759, b/428033667)
גרסה 1.0.0-alpha04
18 ביוני 2025
androidx.navigation3:navigation3-*:1.0.0-alpha04
משוחרר. גרסה 1.0.0-alpha04 מכילה את הקומטים האלה.
שינויים ב-API
- הסרטון
NavEntry.content
מוגדר עכשיו כפרטי. כדי להפעיל תוכןNavEntry
, קוראים ל-API החדשNavEntry.Content()
שלא דורש יותר פרמטרkey
להפעלה. (Icd0fd, b/420991203) - השדה
NavEntry.key
הוא עכשיו שדה פרטי. השדה החדשcontentKey
, שנוצר מ-lambda חדשהcontentKeyFactory
, צריך לזהות אתNavEntry
ואת המצבים הרלוונטיים שלו. ערך ברירת המחדל של השדה הוא גיבוב שניתן לשמירה שנוצר מ-NavEntry.key
(I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812)
שינויים בתלות
- Navigation3 תלוי עכשיו בפריט המידע החדש
androidx.navigationevent.compose
.
גרסה 1.0.0-alpha03
4 ביוני 2025
androidx.navigation3:navigation3-*:1.0.0-alpha03
משוחרר. גרסה 1.0.0-alpha03 מכילה את הקומטים האלה.
תיקוני באגים
-
Navigation3
כבר לא ינקה את מצבי ה-decorator שלbackStacks
שהוחלפו והוחלפו במופע אחר שלbackStack
. (I28a42, b/415076044)
גרסה 1.0.0-alpha02
23 במאי 2025
androidx.navigation3:navigation3-*:1.0.0-alpha02
משוחרר. גרסה 1.0.0-alpha02 מכילה את ההתחייבויות האלה.
תיקוני באגים
- נפתרה בעיה ב-
SavedStateNavEntryDecorator
שגרמה להתנגשויות בין סוגים שונים של נתונים עם אותם ערכי מאפיינים. (b/418070648, Iff4775) - תוקנה בעיה של מחלקה חסרה שגרמה לקריסות כשמריצים בלי להצהיר על תלות מפורשת. (b/419049149, I4b4ed)
גרסה 1.0.0-alpha01
20 במאי 2025
androidx.navigation3:navigation3-*:1.0.0-alpha01
משוחרר. גרסה 1.0.0-alpha01 מכילה את הקומטים האלה.
תכונות חדשות
Navigation3 היא ספריית ניווט חדשה שנוצרה במיוחד כדי לטפל בניווט בתוך אפליקציות שמבוססות על Jetpack Compose. ארטיפקט androidx.navigation3.runtime
מספק את אבני הבניין, וארטיפקט androidx.navigation3.ui
מספק את שכבת ממשק המשתמש באמצעות NavDisplay
API. המפתחים יכולים לספק את המצב שלהם ישירות לפונקציה הניתנת להרכבה NavDisplay
, שמשנה את התוכן בהתאם לשינויים במצב המפתח.
@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 */ }
})
מידע נוסף זמין במדריך Navigation3.