navigation3
| העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| 9 בספטמבר 2026 | 1.1.7 | 1.2.0-rc01 | - | - |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-navigation3, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.
אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:
Groovy
dependencies { implementation "androidx.navigation3:navigation3-runtime:1.2.0-alpha07" implementation "androidx.navigation3:navigation3-ui:1.2.0-alpha07" }
Kotlin
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.2.0-alpha07") implementation("androidx.navigation3:navigation3-ui:1.2.0-alpha07") }
מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.
אין הערות לגבי הגרסה של הארטיפקט הזה.
גרסה 1.2 של Navigation3
גרסה 1.2.0-rc01
9 בספטמבר 2026
androidx.navigation3:navigation3-*:1.2.0-rc01 מופץ. גרסה 1.2.0-rc01 מכילה את השמירות האלה.
תיקוני באגים
- אי אפשר להשתמש בשמות כפולים של placeholders בתבניות של URI לקישור עמוק. (I8985c, b/522343165)
גרסה 1.2.0-beta01
26 באוגוסט 2026
androidx.navigation3:navigation3-*:1.2.0-beta01 מופץ. גרסה 1.2.0-beta01 מכילה את השמירות האלה.
שינויים ב-API
- בוצע refactoring של
DeepLinkRequest.extrasמ-Map<String, Any>לסוג חדש של מחלקה בטוחה מסוג mapRequestExtrasשמאחסנת זוגות שלRequestExtrasKey<T>עדT. אפשר ליצור מופע שלRequestExtrasבאמצעות ה-DSLrequestExtras. (Ic929d, b/543883369)
תיקוני באגים
- תוקנה בעיה שבה תנועות ניווט חזויות אחורה שמופעלות במהלך מעבר קדימה לא מונפשות בתגובה להתקדמות ההחלקה. האנימציה של תנועת החזרה החזויה תפעל ותושלם בצורה תקינה. (Icdcb0, b/456218398)
- נוסף בדיקת lint כדי לוודא שהטמעות של
Sceneהן מחלקות נתונים, או שהן מטמיעות equals ו-hashcode כדי לוודא שנעשה שימוש באותוSceneכשמתאים. (Ibdf0d, b/542316099) NavEntry.contentKeyמוגדר עכשיו כברירת מחדל לשילוב שלkey.toString()ו-key::class.toString(). כך אפשר לוודא שאובייקטים של נתונים עם אותו שם אבל עם ממשקים שונים לא יקבלו יותר את אותוcontentKey. עם זאת, הפונקציהkey::classבפלטפורמת JS מחזירה רק שם מחלקה פשוט במקום שם מוגדר במלואו, ולכן בפלטפורמת JS עדיין צריך להטמיע פונקציה מותאמת אישיתcontentKeyלאובייקטים של נתונים עם שמות כפולים. (I1fbbb, b/512534342)- תוקן
IllegalArgumentExceptionשמוחזר על ידיSaveableStateProviderעבור מפתחות כפולים שמשמשים במהלך ניווט לאחור מהיר כשמספר מעברים של חלונות קופצים נמצאים בתהליך. (I4d728, b/516312097)
גרסה 1.2.0-alpha07
29 ביולי 2026
androidx.navigation3:navigation3-*:1.2.0-alpha07 מופץ. גרסה 1.2.0-alpha07 מכילה את השמירות האלה.
שינויים ב-API
- נוספה מחלקה מופשטת
WrappedMatchResultכדי לעטוף עודDeepLinkMatcher.MatchResult. כך אפשר להציג תוצאות התאמה מותאמות אישית בשכבה מעל תוצאה אחרת. (I7d4dc, b/470282247) נוספה מחלקה חדשה
BackStackMatcherשמקבלת שני פרמטרים: מופע של matcher ו-lambda של builder שמספקת את תוצאת ההתאמה של matcher הקלט ומחזירה את מקבץ הפעילויות הקודמות (back stack). אם נמצאה התאמה, הפונקציהBackStackMatcherמחזירה את הערךBackStackMatchResultשהוא הרחבה שלWrappedMatchResult, שמכיל את תוצאת ההתאמה המקורית יחד עם מקבץ פעילויות קודמות (back stack) שנבנתה באמצעות ה-lambda. אפשר ליצור אתBackStackMatcherרק באמצעות פונקציית התוסף החדשהDeepLinkMatcher.withBackStack. (Ibf987, b/470282247)נוספה מחלקה מופשטת
DeepLinkSerializerשמרחיבה אתKSerializerכדי לקודד ולפענח אתvalue : Tכ-String. אפשר להשתמש ב-DeepLinkSerializerכדי לבצע סריאליזציה של ארגומנטים של קישורי עומק שהם לא פרימיטיביים. תואם ל-rememberSaveableול-rememberNavBackStack. (Id3c9f, b/470282247)
DeepLinkMatcherנוסף פרמטר מסוג שניout R : DeepLinkMatcher.MatchResult<T>כדי שמפתחים יוכלו לגשת למאפיינים שלMatchResultשהוחזר על ידיDeepLinkMatcher.match()בלי לבצע המרה של טיפוסים. (I693d3, b/470282247)הגבול העליון של
DeepLinkMatcher.MatchResult'sהשתנה מ-Any?ל-Any. (I6bf1a)הערך שמוגדר כברירת מחדל בשדה
DeepLinkRequestconstructoruriהוא עכשיו null. השם שלuriStringבבונה המשני השתנה ל-uri. (Ia0f14, b/522194187)
תיקוני באגים
-
ResultEffectמשתמש עכשיו ב-rememberUpdatedStateכדי לתעד אתonResultlambda העדכני. (I7d2a3, b/531709234) - תוקן התאמה של קישורי עומק לפלחים ריקים של נתיבים. אם סוג הארגומנט הוא String, נתיב ריק ייחשב כערך מחרוזת ריקה. אחרת, הנתיב הריק יפורש כאילו לא סופק ערך, והמערכת תחזור לערך ברירת המחדל. אם לא מוגדר ערך ברירת מחדל, ההתאמה תיכשל. (I56575, b/535298128)
- הוספנו תמיכה בערכי שאילתה ריקים ב-
DeepLinkRequest.uri. אם הארגומנט הוא מסוג String, הערך הריק יטופל כמחרוזת ריקה מילולית. אחרת, המערכת מתייחסת לערך הריק כאילו לא סופק ערך, ותנסה להשתמש בערך ברירת המחדל. אם לא מוגדר ערך ברירת מחדל, ההתאמה תיכשל. (I30343, b/535127459) -
EntryProviderמתעדפת עכשיו התאמה על סמך מקרים מרכזיים ולא על סמך סוגים מרכזיים. (Ib5ec9, b/533331924) -
SceneStateמחשב עכשיו בצורה נכונה סצנות קודמות החל מהסצנה העליונה ביותר שאינה שכבת-על. (I91915, b/513630541)
גרסה 1.2.0-alpha06
15 ביולי 2026
androidx.navigation3:navigation3-*:1.2.0-alpha06 מופץ. גרסה 1.2.0-alpha06 מכילה את השמירות האלה.
תיקוני באגים
- תוקן
UriDeepLinkMatcherתיעוד בנושא מקטעי URI כדי להבהיר שמקטעים עם תווים כלליים יתאימו לכל קלט, אבל הקלט לא יחולץ כארגומנטים. (I5ad9b, b/524677091) - תוקנה בעיה שגרמה לכך ש-
UriDeepLinkMatcherלא התאים לבקשה אם תבנית ה-URI לא הכילה סכימה או לא התחילה בלוכסן כפול. לדוגמה,www.example.com/homeיתאים עכשיו ל-http://www.example.com/home. (Ia6b65, b/522791926)
גרסה 1.2.0-alpha05
1 ביולי 2026
androidx.navigation3:navigation3-*:1.2.0-alpha05 מופץ. גרסה 1.2.0-alpha05 מכילה את השמירות האלה.
New API
- נוסף API
rememberResultEventBusשמחזירResultEventBusשאפשר להעביר אלrememberResultEventBusNavEntryDecorator. הפעולה הזו מאפשרת להעלות אתResultEventBusמחוץ ל-ResultEventBusNavEntryDecorator. (Ia655b, b/516995400)
DeepLinkRequest
- נוספו שני בנאים שתואמים ל-KMP – אחד שמקבל DeepLinkUri ואחד שמקבל מחרוזת גולמית של uri. (I3c088, b/513200887, b/522194187)
- (Android בלבד) נוסף יצרן שמקבל
Intent. (Ia0498, b/513200887, b/522194187) - לכל הקונסטרוקטורים יש שדה נוסף
extrasשלMap<String, Any>לצירוף מידע נוסף על הבקשה. (If81d5, b/513200887) - נוסף
requestExtrasdsl חדש כדרך בטוחה לבניית מיפוי של תוספים. שפת ה-DSL מספקת פונקציהputלאחסון זוגות שלRequestExtrasKeyעדAny. אפשר להשתמש בפונקציית התוסףMap<String, Any>.get(key)כדי לקרוא מהמיפוי באמצעותRequestExtrasKey(I5091c, b/513200887) - (Android בלבד) נוספו הפונקציות
ActionExtrasKeyו-actionExtraליצירת מפת extras עםActionExtrasKey. (Id0c90, [b/513200887] - הוספנו פונקציות של
MimeTypeExtrasKeyושלmimeTypeExtraכדי ליצור מפת תוספים עםMimeTypeExtrasKey. (I85131, b/513200887)
DeepLinkMatcher
- נוספו הפונקציות
DeepLinkMatcher.mimeTypeFilterו-DeepLinkMatcher.actionFilterליצירתDeepLinkMatcher.Filtersשמסננות אתDeepLinkRequestלפיmimeTypeאוaction(ב-Android בלבד). שני המסננים מתאימים לפי שוויון מחרוזות והם לא תלויי-רישיות. (Ie7e67, b/513191950)
שינויים ב-API
DeepLinkRequest
- הסרת פונקציית
fromAction. כדי ליצור בקשה שמשויכת לפעולה, משתמשים בשדה החדשDeepLinkRequest.extras.(Id0c90, b/513200887) - הוסרה פונקציית יצרן אחת (
fromMimeType). כדי ליצור בקשה שמשויכת ל-mimeType, משתמשים בשדה החדשDeepLinkRequest.extras. (I85131, b/513200887) - (Android בלבד) הוסרה פונקציית
fromIntentהמפעל. הוחלף על ידי בנאי חדש שמקבל כוונת (Intent) ומפת תוספים. (Ia0498, b/513200887, b/522194187) - הוסרו פונקציות המפעל
fromUriו-fromUriString. הוחלפו על ידי בנאים חדשים שמקבליםDeepLinkUriאו מחרוזת URI גולמית. (Id5b6f, b/522194187) -
DeepLinkMatcher, DeepLinkMatcher.MatchResultותתי המחלקות שלהם מקבלים עכשיו T קו-וריאנטי (out T) כדי שלא יהיה צורך בהמרת סוגים של מפתחות היררכיים כשמשתמשים בהם עם Matchers. (I1e453, b/525094876) - פרמטר ה-constructor
UriMatchResultשל מפת הארגומנטים מוגדר עכשיו כברירת מחדל למפה ריקה. (I3acdd) - המחלקה המופשטת
DeepLinkMatcher.Filterהיא עכשיו ממשק פונקציונלי. שדה ה-constructorfilterמוסר, ובמקומו צריך להעביר את הערך ישירות בתת-הסיווג. (I9eb7d, b/522194187)
תיקוני באגים
- תוקנה בעיה שגרמה לכך שרשומה שנפתחה בחלון קופץ נעלמה מיד כשפותחים בחלון קופץ רשומה שמכילה מטא-נתונים מוטמעים עם ערכי lambda. (Idb872, b/520494430)
- תוקן
UriDeepLinkMatcherכך שיחזיר ערך null UriMatchResultבמקום להפעילMissingFieldExceptionכשארגומנטים נדרשים חסרים במהלך ההתאמה. (I5322f, b/524663005) - אפשר להתאים
UriDeeplinkMatcherשמכיל URI עם סכימת https רק לבקשות שגם להן יש סכימת https. (Ibfe22, b/522304329) - כדי לפתור את הבעיה, צריך לתקן את
UriDeepLinkMatcherכדי לזהות נכון את סכימתhttpכהתאמה חיובית ל-httpsכשמתאימים ביןDeepLinkRequestלביןUriDeepLinkMatcher. (I3a62b, b/518804264) - הפונקציה
DeepLinkMatcher.MatchResultcomparator מחזירה עכשיו 0 כברירת מחדל כששתי תוצאות שוות. (I48ddb, b/518841353) - מעכשיו, אם בקשת התאמה נכשלת בגלל ארגומנטים נדרשים חסרים, הפונקציה
UriDeepLinkMatcherתחזיר ערך nullUriMatchResultבמקום להפעיל חריגה. (I669a7, b/470282247, b/512923412)
גרסה 1.2.0-alpha04
3 ביוני 2026
androidx.navigation3:navigation3-*:1.2.0-alpha04 מופץ. גרסה 1.2.0-alpha04 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה בהנפשה של שכבות-על שבה שכבות-על מוטמעות כמו
ModalBottomSheetמונפשות מחדש באופן בלתי צפוי כששכבות-העל שמעליהן מוסרות. (Ia2b9e, b/502624496)
גרסה 1.2.0-alpha03
19 במאי 2026
androidx.navigation3:navigation3-*:1.2.0-alpha03 מופץ. גרסה 1.2.0-alpha03 מכילה את השמירות האלה.
תכונות חדשות
בניווט 3 יש עכשיו תמיכה בקישורי עומק עם DeepLinkRequest ו-DeepLinkMatcher:
DeepLinkRequestקישור עמוק עם בקשה שמכילDeepLinkUriו-mimeType או פעולה אופציונליים(ל-Android בלבד). בנוסף למחלקה החדשה, יש פונקציות נלוות ליצירת מופע עםuri, mimeTypeאוaction. בפלטפורמת Android יש גם כלי עזר ליצירת בקשה מ-Intent. (Iaaac9, b/470282247)val uriOnlyRequest = DeepLinkRequest.fromUriString("https://sampledeeplink.com/home") val uriAndMimeRequest = DeepLinkRequest.fromUriString( "https://sampledeeplink.com/user/profile?id=123", "image/png" )
DeepLinkMatcherמייצג קישור עומק שאפשר להתאים לוDeepLinkRequest. כל מופע של התאמה משויך למקש הניווט שתומך בקישור העומק הזה. אפשר לשייך מקש ניווט לכמה התאמות. התקשרות אלDeepLinkMatcher.matchתחזירMatchResultשמכיל את מקש הניווט המשויך אם ההתאמה תצליח. יש שתי הטמעות ברירת מחדל שלDeepLinkMatcher: UriDeepLinkMatcherלהתאמת קישורי עומק על סמך Uri, ו-StaticKeyDeepLinkMatcherלהתאמת קישורי עומק רק עםDeepLinkMatcher.Filterשתואמים ל-Boolean. (I3798e, b/470282247)
UriDeepLinkMatcherהטמעה מבוססת-הנחות שלDeepLinkMatcherשמטפלת בקישור עומק על ידי התאמה שלDeepLinkUriלמפתח ניווט שניתן לסריאליזציה. הוא תומך בארגומנטים של קישורי עומק מסוגים פרימיטיביים או באוסף של פרימיטיבים כמו רשימות, מערכים וקבוצות. (I1520b, b/470282247)@Serializable data class UserKey(val id: Int): NavKey // declare a deep link supported by UserKey val userMatcher = UriDeepLinkMatcher( uriPattern = "www.sampledeeplink.com/user?userId={id}", serializer = serializer<UserKey>() ) // handle a requested deep link with fallback key val key = userMatcher.match(deepLinkRequest)?.key ?: HomeKeyנוסף
DeepLinkUri, שהוא גרסת kotlin-multiplatform שלandroid.net.Uri(Id4725, b/470282247)
שינויים ב-API
- הועלה לגרסה
compileSdk 37כדי להתאים ל-compileSdk של Compose
תיקוני באגים
- תוקנה הבעיה
AnimatedBottomSheetSample'sIllegalArgumentExceptionכשמוצגות כמה שכבות-על. הדוגמהSceneStrategyתחשב עכשיו בצורה נכונה את הערך האחרון שאינוOverlaySceneותציג אותו מתחת לכל הסצנות של שכבות העל. (If2281, b/506733412) - הועלתה התלות
NavigationEventלגרסה 1.1.1, שמסירה את NavigationEventHandler שאין לו פעולה (no-op) כשנמצאים במצב בדיקה, כדי להפעיל את התכונה 'חזרה עם אנימציה' בתצוגות המקדימות של Android Studio. (I487fd)
גרסה 1.2.0-alpha02
22 באפריל 2026
androidx.navigation3:navigation3-*:1.2.0-alpha02 מופץ. גרסה 1.2.0-alpha02 מכילה את השמירות האלה.
שינויים ב-API
- משנים את השם של
onBackל-onBackCompletedומוסיפים אתonBackCancelledל-NavigationBackHandler כדי לתמוך בטיפול במחוות חזרה שבוטלו. (I92741) - הוספת
NavigationBackHandlerכדי לפשט את הטיפול במחוות חזרה ובחיזוי חזרה כשמשתמשים ב-SceneState. כך המפתחים יכולים ליצור בקלות רבה יותר רכיבי ממשק משתמש מותאמים אישית שתומכים בניווט לאחור רגיל ובמחוות ניווט אחורה חזויות, בלי לחשב ידנית את הדלתאות של מקבץ הפעילויות הקודמות (back stack). (I6a055) - מוסיפים
rememberNavigationEventStateכדי לפשט את החיבורSceneStateבאמצעות טיפול חיזוי בחזרה. (Iae49c)
תכונות חדשות
- הוספנו
ResultEventBusAPI כדי לאפשר העברת תוצאות בין NavEntry באמצעותLocalResultEventBusשסופק על ידיResultEventBusNavEntryDecoratorהחדש. אפשר להעריך את התוצאות שמועברות כסטטוס עםResultEventBus#conflateAsStateאו כרצף של תוצאות עםResultEffect.
גרסה 1.2.0-alpha01
8 באפריל 2026
androidx.navigation3:navigation3-*:1.2.0-alpha01 מופץ. גרסה 1.2.0-alpha01 מכילה את השמירות האלה.
תיקוני באגים
- הגישה אל
LocalNavAnimatedContentScopeמ-OverlaySceneלא תגרום יותר ל-IllegalStateExceptionכיOverlayScenesמקבלים עכשיוLocalAnimatedContentScopeמסוג no-op. (I2f00c, b/486067688)
גרסה 1.1 של Navigation3
גרסה 1.1.7
26 באוגוסט 2026
androidx.navigation3:navigation3-*:1.1.7 מופץ. גרסה 1.1.7 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה שבה תנועות ניווט חזויות אחורה שמופעלות במהלך מעבר קדימה לא מונפשות בתגובה להתקדמות ההחלקה. האנימציה של תנועת החזרה החזויה תפעל ותושלם בצורה תקינה. (Icdcb0, b/456218398)
גרסה 1.1.6
12 באוגוסט 2026
androidx.navigation3:navigation3-*:1.1.6 מופץ. גרסה 1.1.6 מכילה את השמירות האלה.
תיקוני באגים
NavEntry.contentKeyמוגדר עכשיו כברירת מחדל לשילוב שלkey.toString()ו-key::class.toString(). כך אפשר לוודא שאובייקטים של נתונים עם אותו שם אבל עם ממשקים שונים לא יקבלו יותר את אותוcontentKey. עם זאת, הפונקציהkey::classבפלטפורמת JS מחזירה רק שם מחלקה פשוט במקום שם מוגדר במלואו, ולכן בפלטפורמת JS עדיין צריך להטמיע פונקציה מותאמת אישיתcontentKeyלאובייקטים של נתונים עם שמות כפולים. (I1fbbb, b/512534342)- תוקנה בעיה
IllegalArgumentExceptionשנוצרה על ידיSaveableStateHolderבגלל שימוש חוזר במפתח כשכמה מעברים של חלונות קופצים מתבצעים בו-זמנית בגלל הסרה מהירה של נתונים ממקבץ הפעילויות הקודמות (back stack). (I4d728, b/516312097)
גרסה 1.1.5
29 ביולי 2026
androidx.navigation3:navigation3-*:1.1.5 מופץ. גרסה 1.1.5 מכילה את השמירות האלה.
תיקוני באגים
- ה-DSL
entryProviderנותן עכשיו עדיפות ל-NavEntryשנבנה עם מופע של מפתח, למשלentry(key = userKey) { ... }, על פניNavEntryשנבנה עם מחלקה של מפתח כמוentry<UserKey>{ ... }.(Ib5ec9, b/533331924)
גרסה 1.1.4
1 ביולי 2026
androidx.navigation3:navigation3-*:1.1.4 מופץ. גרסה 1.1.4 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה שגרמה לכך שרשומה שנפתחה בחלון קופץ נעלמה מיד כשפותחים בחלון קופץ רשומה שמכילה מטא-נתונים מוטמעים עם ערכי lambda. (Idb872, b/520494430)
גרסה 1.1.3
17 ביוני 2026
androidx.navigation3:navigation3-*:1.1.3 מופץ. גרסה 1.1.3 מכילה את השמירות האלה.
תיקוני באגים
תוקנה בעיה בהנפשה של שכבות-על שבה שכבות-על מוטמעות כמו
ModalBottomSheetמונפשות מחדש באופן בלתי צפוי כששכבות-העל שמעליהן מוסרות. (Ia2b9e, b/502624496)הועלתה התלות
NavigationEventלגרסה 1.1.2, שבה הוסר ה-no-opNavigationEventHandlerכשנמצאים במצב בדיקה, כדי להפעיל את התכונה 'חזרה עם אנימציה' בתצוגות המקדימות של Android Studio.
גרסה 1.1.2
19 במאי 2026
androidx.navigation3:navigation3-*:1.1.2 מופץ. גרסה 1.1.2 מכילה את השמירות האלה.
תיקוני באגים
- הועלתה התלות ב-
NavigationEventלגרסה 1.1.1, שבה הוסר ה-no-opNavigationEventHandlerכשנמצאים במצב בדיקה, כדי להפעיל את התכונה 'חזרה עם אנימציה' בתצוגות המקדימות של Android Studio.
גרסה 1.1.1
22 באפריל 2026
androidx.navigation3:navigation3-*:1.1.1 מופץ. גרסה 1.1.1 מכילה את השמירות האלה.
תיקוני באגים
- הגישה אל
LocalNavAnimatedContentScopeמ-OverlaySceneלא תגרום יותר ל-IllegalStateExceptionכיOverlayScenesמקבלים עכשיוLocalAnimatedContentScopeמסוג no-op. (I2f00c, b/486067688)
גרסה 1.1.0
8 באפריל 2026
androidx.navigation3:navigation3-*:1.1.0 מופץ. גרסה 1.1.0 מכילה את השמירות האלה.
גרסה 1.1.0 יציבה עכשיו!
שינויים חשובים מאז גרסה 1.0.0
אלמנטים משותפים בין סצנות
- מעכשיו, Navigation3 תומך בטיפול בסצנות כאובייקט של אלמנט משותף. המשמעות היא שכאשר הסצנות משתנות, אפשר לוודא שהמעבר ביניהן יהיה חלק. כדי להפעיל את ההגדרה הזו, מעבירים SharedTransitionScope אל NavDisplay או אל rememberSceneState.
SceneDecoratorStrategy
- הוספנו את SceneDecoratorStrategy כדי לתמוך בתרחישי שימוש כמו הוספת רכיבי ממשק משתמש נפוצים לסצנות או שיתוף מצב בין סצנות.
NavMetadata DSL
- בספרייה Navigation3 יש עכשיו DSL חדש של מטא-נתונים עם בטיחות סוגים. ה-DSL משתמש בממשק MetadataKey חדש שמאפשר להגדיר את סוגי המפתח והערך שרוצים לספק למפת המטא-נתונים. בנוסף, נוספו NavMetadataKeys חדשים למעברים של NavDisplay, כדי שאפשר יהיה להשתמש בהם עם ה-DSL החדש של המטא נתונים ולהוסיף מעברים ל-NavDisplay.
OverlayScene Animations
- בממשק OverlayScene יש עכשיו קריאה חוזרת (callback) חדשה להשהיה onRemoved. הקריאה החוזרת הזו מופעלת אחרי שמסירים מהמחסנית האחורית מפתח שמשויך לסצנה, אבל לפני שהמפתח יוצא מהקומפוזיציה. כך אנימציות היציאה שנקראות בתוך onRemovedיושלמו לפני שהסצנה של שכבת העל תוסר מהקומפוזיציה.
שינויים אחרים
- התגים NavDisplay ו-rememberSceneState מקבלים עכשיו List<SceneStrategy> במקום הפרמטר הקודם SceneStrategy שהיה משורשר באמצעות התו then.
– עכשיו אפשר להוסיף מטא-נתונים באופן דינמי תוך התחשבות במפתח הרשומה באמצעות EntryProvider DSL.
גרסה 1.1.0-rc01
25 במרץ 2026
androidx.navigation3:navigation3-*:1.1.0-rc01 מופץ. גרסה 1.1.0-rc01 מכילה את השמירות האלה.
תיקוני באגים
NavDisplayמוודא עכשיו שהערכים שמוצגים מתחת לשכבות-על מוגבלים ל-LifecycleSTARTED. כך תוכלו לוודא ש-APIs כמוdropUnlessResumedימשיכו לפעול כשמשתמשים בתיבות דו-שיח. (If209f, b/483966071)- תוקנה בעיה ב-
NavDisplayשבה מעבר קדימה ואחורה בין אותם מסכים והפרעה לאנימציות ביניהם עלולים לגרום לסדר השכבות של המסכים להיות שגוי. (I4d491, b/459419800)
גרסה 1.1.0-beta01
11 במרץ 2026
androidx.navigation3:navigation3-*:1.1.0-beta01 מופץ. גרסה 1.1.0-beta01 מכילה את השמירות האלה.
גרסה 1.1.0-alpha05
25 בפברואר 2026
androidx.navigation3:navigation3-*:1.1.0-alpha05 מופץ. גרסה 1.1.0-alpha05 מכילה את השמירות האלה.
שינויים ב-API
- ב-
NavDisplayוב-rememberSceneStateיש עכשיו פרמטרList<SceneStrategy>במקום הפרמטר היחידSceneStrategyשהיה קודם, ששורשר באמצעות התחיליתthen. השינוי הזה תואם יותר ל-List<SceneDecoratorStrategy<T>>ששני ממשקי ה-API האלה כבר מקבלים. הוצאנו משימוש את ממשקי ה-API הקודמים. (I78b2c, b/482108465) - נוסף אופרטור metadata #contains כדי לבדוק אם מפת המטא-נתונים מכילה את הערך
NavMetadataKey. (Ic30db, b/485311895) - נוספה האפשרות
NavMetadataKeyDialogKeyל-DialogSceneStrategyלשימוש עם Metadata DSL. (Ic7a26, b/483388817)
גרסה 1.1.0-alpha04
11 בפברואר 2026
androidx.navigation3:navigation3-*:1.1.0-alpha04 מופץ. גרסה 1.1.0-alpha04 מכילה את השמירות האלה.
תכונות חדשות
- Navigation3 מספק עכשיו DSL חדש של מטא-נתונים שמאובטח מפני שגיאות הקלדה. ה-DSL משתמש בממשק
MetadataKeyחדש שמאפשר להגדיר את סוגי המפתח והערך שרוצים לספק למפת המטא-נתונים. בנוסף, נוספוNavMetadataKeyחדשים למעברים שלNavDisplay, כדי שאפשר יהיה להשתמש בהם עםmetadataDSL החדש כדי להוסיף מעברים ל-NavDisplay. (Ic10ef, Ic049c,b/476213928)
שינויים ב-API
- בממשק של
OverlaySceneיש עכשיוonRemovedcallback חדש להשעיה. הקריאה החוזרת הזו מופעלת אחרי שמסירים מהמחסנית האחורית מפתח שמשויך לסצנה, אבל לפני שהמפתח יוצא מהקומפוזיציה. כך אנימציות יציאה שנקראות בתוךonRemovedיושלמו לפני שהסצנה של שכבת העל תוסר מהקומפוזיציה. (I29a72, b/440558061) -
SceneStrategyפיצלה את פונקציית העיצוב לפונקציה חדשהSceneDecoratorStrategy. הממשק החדש הזה הוא הממשק שבו צריך להשתמש כדי לקשט סצנות. יש ממשקי API חדשים ל-NavDisplayול-rememberSceneStateשמאפשרים להוסיףSceneDecoratorStrategies. (If9385, b/477669607, b/477670333)
תיקוני באגים
- תוקנה שגיאה שבה העברה של
SharedTransitionLayoutאלNavDisplayאו אלrememberSceneStateושימוש ב-OverlaySceneכלשהו גרמו לקריסה, כי השימוש ב-SharedTransitionLayoutפועל רק עםNavEntriesשעברו עיבוד כחלק מ-AnimatedContent, ו-OverlaySceneעוברים עיבוד בחלונות נפרדים משלהם. (I1bb76, b/478664101)
עדכון תלות
- מגרסה
Navigation31.0.1:Navigation3תלויה עכשיו בגרסהNavigationEvent1.0.2. העדכון הזה פותר בעיהIllegalStateExceptionשנגרמה כתוצאה משימוש ב-NavDisplayבמהלךAndroidStudioPreviews. (Id7212, b/477149762)
גרסה 1.1.0-alpha03
28 בינואר 2026
androidx.navigation3:navigation3-*:1.1.0-alpha03 מופץ. גרסה 1.1.0-alpha03 מכילה את השמירות האלה.
תכונות חדשות
- עכשיו אפשר להוסיף מטא-נתונים באופן דינמי באמצעות
EntryProviderDSL, תוך התחשבות במפתח הרשומה. (I942fb, b/474416976)
גרסה 1.1.0-alpha02
14 בינואר 2026
androidx.navigation3:navigation3-*:1.1.0-alpha02 מופץ. גרסה 1.1.0-alpha02 מכילה את השמירות האלה.
תכונות חדשות
-
SceneStrategyתומך עכשיו בהטמעה של סצנות באמצעות הפונקציה החדשהcalculatedScene(Scene). כלומר, אפשר להתאים אישית אתSceneStrategyכדי לספק פונקציונליות נוספת לסצנות אחרות. (I5df7c,b/440333896)
גרסה 1.1.0-alpha01
3 בדצמבר 2025
androidx.navigation3:navigation3-*:1.1.0-alpha01 מופץ. גרסה 1.1.0-alpha01 מכילה את השמירות האלה.
שינויים ב-API
-
Navigation3תומך עכשיו בהתייחסות לסצנות כאובייקט של אלמנט משותף. המשמעות היא שכאשר הסצנות משתנות, אפשר לוודא שהמעבר ביניהן יהיה חלק. כדי להפעיל את ההגדרה הזו, מעביריםSharedTransitionScopeאלNavDisplayאו אלrememberSceneState. (I15868)
גירסה 1.0
גרסה 1.0.1
11 בפברואר 2026
androidx.navigation3:navigation3-*:1.0.1 מופץ. גרסה 1.0.1 מכילה את השמירות האלה.
עדכון תלות
-
Navigation3תלוי עכשיו ב-NavigationEvent1.0.2. העדכון הזה פותר בעיהIllegalStateExceptionשנגרמה כתוצאה משימוש ב-NavDisplayבמהלךAndroidStudioPreviews. (Id7212, b/477149762)
גרסה 1.0.0
19 בנובמבר 2025
androidx.navigation3:navigation3-*:1.0.0 מופץ. גרסה 1.0.0 מכילה את השמירות האלה.
חדש: Navigation3!
- ספריית Navigation3 יציבה עכשיו. Navigation3 היא הגישה הראשונה של AndroidX Compose לניווט.
- מידע נוסף זמין בפוסט שלנו בבלוג. אפשר גם לעיין במשאבים ולנסות את המתכונים.
גרסה 1.0.0-rc01
5 בנובמבר 2025
androidx.navigation3:navigation3-*:1.0.0-rc01 מופץ. גרסה 1.0.0-rc01 מכילה את השמירות האלה.
תיקוני באגים
-
NavDisplayמגדיר עכשיוLocalLifecycleOwnerברמהSceneשמאפשרת לכותבי סצנות לקבוע אם כל המעברים הסתיימו על ידי בדיקה שהערך שלLifecycle.StateהואRESUMED. ההתנהגות שלLocalLifecycleOwnerברמהNavEntryלא משתנה: היא גם נשארת מוגבלת ל-STARTEDאם מתבצע מעבר, והיא מוגבלת בנוסף ל-CREATEDאםNavEntryהוצא מהמחסנית האחורית והוא בתהליך של אנימציה. (I03113, b/454045829)
גרסה 1.0.0-beta01
22 באוקטובר 2025
androidx.navigation3:navigation3-*:1.0.0-beta01 מופץ. גרסה 1.0.0-beta01 מכילה את השמירות האלה.
שינויים ב-API
-
SceneStrategyScopeכולל עכשיו רק בנאי ציבורי ללא ארגומנטים, שמתאים לבדיקה שלSceneStrategyושלSceneשמוחזרים בבידוד. לתרחישי שימוש מורכבים יותר, מומלץ להשתמש ב-rememberSceneState(). (I8440c, b/451679047)
תיקוני באגים
- תוקנה לולאה אינסופית כשמשלבים
SceneStrategyעםthen. (Iba3f0, b/450323470) - תוקן מצב של הבהוב המסך כשמחליפים את
backStackשעבר אלNavDisplayומשתמשים באנימציות. (Ief7b5, b/450967248)
גרסה 1.0.0-alpha11
8 באוקטובר 2025
androidx.navigation3:navigation3-*:1.0.0-alpha11 מופץ. גרסה 1.0.0-alpha11 מכילה את השמירות האלה.
שינויים ב-API
- השיטה
calculateSceneב-SceneStrategyכבר לא@Composable. במקום זאת, כדאי להעביר את העבודה הזו לבנייה של שיטתSceneStrategy(כלומר, בשיטתrememberMySceneStrategy()) שמאפשרת לכם להגדיר באופן מלא את משך החיים של ערכיrememberSaveableאו של הצהרות מפתחrememberעל סמך הערכים הנכונים. (If1733, b/448709506) - הפרמטר
onBackשלSceneStrategy.calculateSceneהועבר להיקף החדש של מקבל הנתוניםSceneStrategyScopeכדי להבהיר שזהו פרמטר אופציונלי, וכדי לספק נקודת הרחבה לתכונות עתידיות של Navigation3. (I3aea3, b/448460407) - פונקציית ה-lambda
onBackשמועברת אלNavDisplayואלSceneStrategyלא מספקת יותר פרמטרcount: Intכדי לציין מתי צריך להסיר כמה רשומות. במקום זאת, פונקציית ה-lambda() -> Unitתיקרא עכשיו כמה פעמים ברצף במקרה הנדיר שבו הבקשות שלכם לסצנות יציגו כמה רשומות. (Idedb5, b/446989346) - תסיר את המחלקה
NavEntryWrapperותחליף את הפונקציונליות שלה במחלקה סופיתNavEntryעם בנאי משני חדש שמקבלNavEntryעם תוכן חדש. כך נוכל להמשיך לתמוך בהוספת תוכן חדש לערך. (I7da2a, b/444447130) - הפונקציה
navEntryDecoratorשיוצרת ומחזירהNavEntryDecoratorהוסרה והוחלפה במחלקהNavEntryDecorator, שעכשיו היא ציבורית ופתוחה ליצירת מחלקות משנה. (If81f8, b/444447434, b/447381176) - השם של
SavedStateNavEntryDecoratorהשתנה לשםSaveableStateHolderNavEntryDecoratorכי הוא מוסיףSaveableStateHolderלרשומות. בנוסף, בוצע רפקטורינג של הדקורטור מפונקציה למחלקה, כי מבחינה פונקציונלית הוא מפעל שלNavEntryDecorator. (Ie6013, b/447381176) - כבר לא צריך להשתמש ב-
LocalEntriesToRenderInCurrentScenecomposition local כדי להציג תצוגות מותאמות אישית באמצעותSceneStateכחלופה לשימוש ב-NavDisplay. התכונה הזו היא עכשיו פנימית. (Ic40ef, b/414668196) - הסרנו את
SceneSetupNavEntryDecoratorואתrememberSceneSetupNavEntryDecorator()מ-API שגלוי לכולם. הפונקציונליות הזו כלולה עכשיו כברירת מחדל, ולא צריך להוסיף אותה באופן ידני. (Ieae42, b/444479133) - הפונקציות
NavEntry,DialogScene,SinglePaneSceneוגםSceneStateכוללות עכשיו את הפונקציה equals. (I96121) - בממשק של הסצנה יש שדה חדש של מטא-נתונים לצירוף מטא-נתונים ספציפיים לסצנה עבור NavDisplay. כך אפשר להגדיר שסצנה מסוימת תבטל את המטא-נתונים של
NavDisplay, למשל באמצעות מעברים. (I1fd96, b/443955625) - כדי לפשט את החתימה של
rememberNavBackStack, צריך להסיר את פרמטר הסוג הגנרי המיותר. הפונקציה מקבלת עכשיו את הערךvararg elements: NavKey. (I03e45) - אנימציות ברירת המחדל של
NavDisplayהן עכשיו חלק מה-API המשותף, כך שאפשר להפעיל אותן מכל הפלטפורמות. (I71af9, b/447147159) - משנים את השם של
EntryProviderBuilderל-EntryProviderScopeכדי לשקף בצורה מדויקת שהכיתה היא Kotlin DSL שמספקת היקף לבנייתNavEntries. (Ia7465)
תיקוני באגים
rememberNavBackStack()אוכף עכשיו סריאליזציה פולימורפית עבור NavKey ודורשSavedStateConfigurationמותאם אישית שמוגדר כדי להבטיח שחזור נכון של המצב. עדכנו את KDoc כדי לשקף את הדרישה שכל סוגי המשנה של NavKey צריכים להיות רשומים ב-SerializersModule שסופק. (I6de37,I782f2, b/446664383)
גרסה 1.0.0-alpha10
24 בספטמבר 2025
androidx.navigation3:navigation3-*:1.0.0-alpha10 מופץ. גרסה 1.0.0-alpha10 מכילה את השמירות האלה.
שינויים ב-API
- הוספת עומס יתר חדש של
NavDisplayשמקבל רשימה שלNavEntry<T>שעברה קישוט על ידיrememberDecoratedNavEntries. (I4025b, b/441940314) - העברנו את
DialogSceneלחבילה חדשה. (Ia5840) - הסרת ה-API הציבורי
DecorateNavEntry. במקום זאת, משתמשים ב-rememberDecoratedNavEntriesכדי להקיף את NavEntry ברשימה של רכיבי Decorator. (Id8c09) - בממשק המשתמש של Navigation3 יש עכשיו מאפייני ברירת מחדל חדשים של
transitionSpec. (Ibcabd) - הוספנו אובייקט
SceneStateחדש שיעזור לכם לנהל סצנות. הוא מספק גם עומס יתר חדש שלNavDisplayשמקבל אתSceneStateואתNavigationEventState. (Idfb46, b/444479133) NavDisplayמאפשרת עכשיו להתאים אישית את המעברים על סמך מה שSceneעוברים אליו וממנו, על ידי עיון בTransitionשלcurrentStateוtargetState. (I906cc, b/443872322)- התפקיד של
NavigationEventInfoהוא עכשיוabstract classבמקוםinterface. מעדכנים את כל ההטמעות בהתאמה אישית כך שיורשות מהמחלקה (לדוגמה,data class MyInfo : NavigationEventInfo()). (I1e59c, b/444734264) - ממשקי ה-API של
navigationevent-composehandler עודכנו. NavigationEventHandlerו-NavigationBackHandler(וגרסאות שונות) תומכים עכשיו בעומס יתר חדש שמקבלNavigationEventStates שהועברו למעלה. העומסים הפשוטים (שמקבליםcurrentInfo) נשמרים ועכשיו משתמשים במודל המצב החדש הזה באופן פנימי. (Ic3251, b/444734264) - כל ממשקי ה-API של Scene הועברו מ-navigation3-ui אל navigation3-runtime. כלומר, הם זמינים עכשיו בכל הפלטפורמות שנתמכות על ידי navigation3-runtime. (I431d0, b/444449993)
- נוספה שיטת
rememberDecoratedNavEntriesחדשה עם עומס יתר שמקבלת רשימה שלNavEntryלהוסיף. אפשר להוסיף לערכי הקלט קישוטים שכבר קיימים. (I5a034, b/444230270) - הסרת פרמטרים של סוג wildcard של navigation3 (I02540)
- שיפרנו את הטיפול בגנריות ב-
entryProviderDSL. אם בעבר ייבאתם אתandroidx.navigation3.runtime.entry, אין יותר צורך בכך. (I299fc) - הגבלת העומס העודף של
NavBackStackSerializerשמבוסס על השתקפות ל-Android. ההגדרה הזו מונעת כשלים מרומזים בסריאליזציה בזמן ריצה בפלטפורמות שאינן Android, על ידי אכיפת השימוש בעומס היתר המפורשSavedStateConfigurationבקוד מרובה פלטפורמות. (I73313, b/420443609) - Make
NavigationEvent'sswipeEdgean@IntDef(Icee54, b/443950342) - הגבלת סריאליזציה
NavBackStackל-Android. כך נמנעים כשלים בזמן ריצה בפלטפורמות שאינן Android. כדי לשמור את המצב בכמה פלטפורמות, משתמשים ב-rememberNavBackStackoverload עםSavedStateConfigurationמפורש. (I1e418, b/420443609)
תיקוני באגים
- תוקנה קריסה במהלך ניווט חזוי אחורה כש-
NavDisplayמקונן מכיל רשומה אחת של צאצא. (I2cdc0, b/441933162)
גרסה 1.0.0-alpha09
10 בספטמבר 2025
androidx.navigation3:navigation3-*:1.0.0-alpha09 מופץ. גרסה 1.0.0-alpha09 מכילה את השמירות האלה.
שינויים ב-API
- הפונקציה
DecoratedNavEntryProviderהוחלפה בפונקציהrememberDecoratedNavEntriesשיוצרת ומחזירה NavEntry עם קישוטים של רשימת הקישוטים שסופקו (I0fe1c, b/441328236) - הפונקציה
NavBackStackהיא עכשיו גנרית לגבי הסוגNavKey. כך אפליקציות וספריות יכולות להגדיר סוגי מקשים מותאמים אישית עבור ערימות החזרה שלהן, במקום להיות מוגבלות ל-NavKey. (I4d190,Iad2f4, b/420443609) -
NavBackStackהוא עכשיו@kotlinx.serialization.Serializable, ולכן אפשר לשמור ולשחזר את מצב הניווט אחרי סיום התהליך ושינויים בהגדרות בלי להשתמש בקוד מיותר. (I2c3cf, b/420443609) - העברנו את
RememberNavBackStackאלcommonMainכדי לוודא שהוא מסופק בכל פלטפורמות היעד. (Id69e7, b/420443609)
תיקוני באגים
-
NavDisplayמעביר עכשיו כלNavEntryבנפרד אלLifecycle.Stateהנכון. (I30aac, b/440145700) - תוקנה בעיה שבה
NavDisplayהתעלם מכלNavigationEventDispatcherOwnerשמוגדר באמצעותLocalNavigationEventDispatcherOwnerשל ספרייתNavigationEvent. (I6224a)
שינויים בתלות
- Navigation3 תלוי עכשיו ב-NavigationEvent Alpha08.
גרסה 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. בפלטפורמות אחרות, תצטרכו להטמיעNavDisplayמשלכם בהתאמה אישית. אם אתם רוצים שהתמיכה תתווסף, אתם יכולים להצביע על הבעיה ב-Jetbrains כאן ולעקוב אחרי ההתקדמות כדי לקבל תמיכה נוספת. - האובייקט
NavDisplayInfoעכשיו ציבורי ואפשר להשתמש בו כדי לאחזר את רשימת הרשומות שגלויות מ-NavDisplay. (Ibc91f)
שינויים ב-API
- נוסף
NavBackStackSerializerחדש לשימוש בשילוב עםrememberNavBackStackכדי לבצע שחזור של מצב. התגrememberNavBackStack()מקבל עכשיו גם את הערךSavedStateConfigurationשאפשר להשתמש בו כדי לספק הגדרה משלכם. (I2f4d2, I4cd58, b/420443609)
תיקוני באגים
- תוקנה בעיה שבה ניווט גרם להפעלת אירועים שגויים של מחזור החיים. (I8bf6d, b/425901162, b/434109022)
בעיות מוכרות
- באג שנוצר על ידי I8bf6d גרם לכך שמחזורי החיים התבססו על סצנות במקום על רשומות נפרדות. כתוצאה מכך, מחזור החיים לא פעל במקרים שבהם
keyשסופק ל-NavEntryלא היהString, או ש-NavEntryלא ביטל אתcontentKeyוהגדיר אותו כשווה ל-key(שימו לב שפעולה כזו מאפשרת לשמור את המפתח ב-Bundle). הבאג הזה תוקן בגרסה הבאה. (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 מסתמך עכשיו על אירוע הניווט
1.0.0-alpha06.
גרסה 1.0.0-alpha06
30 ביולי 2025
androidx.navigation3:navigation3-*:1.0.0-alpha06 מופץ. גרסה 1.0.0-alpha06 מכילה את השמירות האלה.
עדכון תלות
- Navigation3 מסתמך עכשיו על אירוע הניווט
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כבר לא ינקה את מצבי הקישוט של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.