navigationevent

  
ספריית אירועי הניווט מספקת ממשק API מבוסס-KMP לטיפול בחזרה למערכת וגם בחזרה חזוי.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסה אלפא
18 ביוני 2025 - - - 1.0.0-alpha03

הצהרת יחסי תלות

כדי להוסיף תלות ב-navigationevent, צריך להוסיף את מאגר Google Maven לפרויקט. למידע נוסף, אפשר לקרוא את המאמר מאגר Maven של Google.

מוסיפים את יחסי התלות של הארטיפקטים הנדרשים בקובץ build.gradle של האפליקציה או המודול:

Groovy

dependencies {
    implementation "androidx.navigationevent:navigationevent:1.0.0-alpha03"
}

Kotlin

dependencies {
    implementation("androidx.navigationevent:navigationevent:1.0.0-alpha03")
}

מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ל-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. אם נתקלתם בבעיות חדשות או שיש לכם רעיונות לשיפור הספרייה הזו, נשמח לשמוע מכם. לפני שיוצרים בעיה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להצביע על בעיה קיימת, לוחצים על לחצן הכוכב.

דיווח על בעיה חדשה

מידע נוסף זמין במסמכי התיעוד של Issue Tracker.

אין הערות לגבי הגרסה של הארטיפקט הזה.

גירסה 1.0

גרסה 1.0.0-alpha03

18 ביוני 2025

androidx.navigationevent:navigationevent-*:1.0.0-alpha03 משוחרר. הגרסה 1.0.0-alpha03 כוללת את ההוספות האלה.

תכונות חדשות

  • הוספנו מודול navigationevent-compose חדש לתמיכה בתכונות של Jetpack Compose בספרייה navigationevent. (980d78)
  • NavigationEvent נוספה קומפוזיציה מקומית חדשה מסוג LocalNavigationEventDispatcherOwner ל-Compose. הפונקציה מחזירה ערך nullable כדי לקבוע טוב יותר אם הוא זמין בהרכב הנוכחי. הפונקציה NavigationEventHandler תגרום להצגת שגיאה אם הבעלים הבסיסי לא נמצא. (62ffda)
  • NavigationEvent נוספה ל-Compose רכיב Composable חדש מסוג NavigationEventHandler לטיפול באירועים (תנועת חזרה חזויה). הוא מספק Flow של אובייקטים מסוג NavigationEvent שצריך לאסוף ב-lambda להשהיה שסיפקתם, c42ba6:
NavigationEventHandler { progress: Flow<NavigationEvent> ->
  // This block is executed when the back gesture begins.
  try {
    progress.collect { backEvent ->
      // Handle gesture progress updates here.
    }
    // This block is executed if the gesture completes successfully.
  } catch (e: CancellationException) {
    // This block is executed if the gesture is cancelled
    throw e
  } finally {
    // This block is executed either the gesture is completed or cancelled
  }
}

שינויים ב-API

  • עכשיו אפשר לרשום כל NavigationEventCallback רק ל-NavigationEventDispatcher אחד בכל פעם. הוספה של NavigationEventCallback למספר בוררים תגרום להודעת השגיאה IllegalStateException. חשוב לדעת שההתנהגות הזו שונה מ-OnBackPressedDispatcher, שמאפשרת מספר מפיצים. (e82c19)
  • הפכנו את isPassThrough ל-val כדי למנוע מוטציה במהלך הניווט, שעלולה לשבש את שליחת הבקשות של NavigationEvent. (I0b287)

גרסה 1.0.0-alpha02

4 ביוני 2025

androidx.navigationevent:navigationevent-*:1.0.0-alpha02 משוחרר. הגרסה 1.0.0-alpha02 כוללת את ההוספות האלה.

שינויים ב-API

  • מחליפים את ה-constructor המשני של NavigationEventDispatcher בארגומנטים שמוגדרים כברירת מחדל. (I716a0)
  • מסירים את מאפיין העדיפות מ-NavigationEventCallback. במקום זאת, מעבירים את העדיפות אל NavigationEventDispatcher.addCallback(). (I13cae)

תיקוני באגים

  • תוקנה שגיאת ConcurrentModificationException שעלולה הייתה להתרחש כשהתרחשה קריאה ל-NavigationEventCallback.remove() בגלל שינוי בו-זמנית של הרשימה הפנימית של הפריטים שאפשר לסגור. (b/420919815)

גרסה 1.0.0-alpha01

20 במאי 2025

androidx.navigationevent:navigationevent-*:1.0.0-alpha01 משוחרר. גרסת 1.0.0-alpha01 כוללת את ההוספות האלה.

תכונות חדשות

  • הספרייה androidx.navigationevent מספקת ממשק API שמבוסס על KMP לטיפול בחזרה למערכת, וגם בחזרה חזותית. NavigationEventDispatcher משמש כממשקי API נפוצים לרישום מופע NavigationEventCallback אחד או יותר לקבלת אירועי חזרה למערכת.
  • השכבה הזו נמצאת מתחת לממשקי ה-API שפורסמו בעבר ב-androidx.activity, והיא מיועדת להחליף את השימוש ב-Activity APIs ברכיבים ברמה גבוהה יותר או את השימוש ישירות בממשקי ה-API של Android framework‏ OnBackInvokedDispatcher. ממשקי ה-API של androidx.activity נכתבו מחדש מעל ממשקי ה-API של אירועי הניווט כחלק מActivity 1.12.0-alpha01.