navigationevent

  
Navigation Event 程式庫提供 KMP 優先的 API,可處理系統返回鍵和預測返回手勢。
最近更新時間 穩定版 候選版 Beta 版 Alpha 版
2025 年 7 月 2 日 - - - 1.0.0-alpha04

宣告依附元件

如要為 navigationevent 新增依附元件,必須將 Google Maven 存放區新增至專案。詳情請參閱 Google 的 Maven 存放區

在應用程式或模組的 build.gradle 檔案中,新增所需構件的依附元件:

Groovy

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

Kotlin

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

如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。

意見回饋

您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。

建立新問題

詳情請參閱 Issue Tracker 文件

這個構件沒有任何版本資訊。

1.0 版本

1.0.0-alpha04 版本

2025 年 7 月 2 日

發布 androidx.navigationevent:navigationevent-*:1.0.0-alpha04。1.0.0-alpha04 版包含這些修訂項目

修正錯誤

  • 使用 implementedInJetBrainsFork 進行 navigationevent-compose,並新增 commonStubs 目標來配合 Compose 慣例。JetBrains 的 Ivan Matkov 要求變更。(f60c79)
  • 修正 Kotlin/Native 的 Compose 編譯器外掛程式應用程式,確保正確產生存根。不會影響公開 API 或行為。(1890c9)

1.0.0-alpha03 版本

2025 年 6 月 18 日

發布 androidx.navigationevent:navigationevent-*:1.0.0-alpha03。1.0.0-alpha03 版包含這些修訂項目

新功能

  • 推出新的 navigationevent-compose 模組,支援 navigationevent 程式庫中的 Jetpack Compose 功能。(980d78)
  • NavigationEvent Compose 新增了 LocalNavigationEventDispatcherOwner 本機組合。這個值可為空值,以更準確地判斷這個值是否可用在目前組合中。如果找不到底層擁有者,NavigationEventHandler 現在會擲回錯誤。(62ffda)
  • NavigationEvent Compose 新增了 NavigationEventHandler 可組合函式,可處理 (預測返回手勢) 事件。提供 FlowNavigationEvent 物件,這些物件必須在您提供的暫停 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 註冊;如果新增至多個調度器,系統會擲回 IllegalStateException。請注意,這項行為與 OnBackPressedDispatcher 不同,後者允許多個調度工具。(e82c19)
  • 已建立 isPassThroughval可防止導覽期間發生突變,這可能會中斷 NavigationEvent 的調度。(I0b287)

1.0.0-alpha02 版

2025 年 6 月 4 日

發布 androidx.navigationevent:navigationevent-*:1.0.0-alpha02。1.0.0-alpha02 版包含這些修訂項目

API 變更

  • 使用預設引數取代 NavigationEventDispatcher 的次要建構函式。(I716a0)
  • 從「NavigationEventCallback」移除優先屬性。請改為將優先順序傳遞至 NavigationEventDispatcher.addCallback()。(I13cae)

修正錯誤

  • 修正因同時修改可關閉項目的內部清單,而呼叫 NavigationEventCallback.remove() 時可能發生的 ConcurrentModificationException。(b/420919815)

1.0.0-alpha01 版

2025 年 5 月 20 日

發布 androidx.navigationevent:navigationevent-*:1.0.0-alpha01。1.0.0-alpha01 版包含這些修訂項目

新功能

  • androidx.navigationevent 程式庫提供以 KMP 為優先的 API,可處理系統返回動作和預測返回NavigationEventDispatcher 可做為通用 API,用於註冊一或多個 NavigationEventCallback 執行個體,以接收系統返回事件。
  • 這個層級位於 androidx.activity 中先前發布的 API 下方,旨在取代較高層級元件中的 Activity API,或直接使用 Android 架構 OnBackInvokedDispatcher API,成為更具彈性的替代方案。androidx.activity API 已在 Navigation Event API 的基礎上重新編寫,成為 Activity 1.12.0-alpha01 的一部分。