navigation3

  
Navigation 3 は、Compose と連携するように設計された新しいナビゲーション ライブラリです。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2025 年 8 月 27 日 - - - 1.0.0-alpha08

依存関係の宣言

navigation3 への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。

アプリまたはモジュールの 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")
}

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

このアーティファクトのリリースノートはありません。

バージョン 1.0

バージョン 1.0.0-alpha08

2025 年 8 月 27 日

androidx.navigation3:navigation3-*:1.0.0-alpha08 がリリースされました。バージョン 1.0.0-alpha08 にはこれらの commit が含まれています。

新機能

  • Navigation3 Runtime アーティファクトに新しい Kotlin MultiPlatform(KMP)ターゲットを追加しました。Navigation3 Runtime は現在、JVM(Android とデスクトップ)、ネイティブ(Linux、iOS、watchOS、macOS、MinGW)、ウェブ(JavaScript、WasmJS)の合計で次のプラットフォームをサポートしています。(I55078b/424410398b/419294028b/419046226)。注: これは Navigation3 UI アーティファクトの KMP ターゲットを提供しません。他のプラットフォームでは、独自のカスタム NavDisplay を実装する必要があります。サポートをご希望の場合は、Jetbrains の問題(こちら)に投票して、追加のサポートの進捗状況をご確認ください。
  • NavDisplayInfo オブジェクトが公開され、NavDisplay から表示可能なエントリのリストを取得するために使用できるようになりました。(Ibc91f

API の変更

  • 状態の復元を行うために rememberNavBackStack と組み合わせて使用する新しい NavBackStackSerializer を追加しました。rememberNavBackStack() は、独自の構成を提供するために使用できる SavedStateConfiguration も受け取るようになりました。(I2f4d2I4cd58b/420443609

バグの修正

  • ナビゲーションを行うと、誤ったライフサイクル イベントが発生する問題を修正しました。(I8bf6db/425901162b/434109022

既知の問題

  • I8bf6d によって導入されたバグにより、ライフサイクルが個々のエントリではなくシーンに基づいており、複数の画面があるシーンのライフサイクルが壊れていました。このバグは次のリリースで修正されています。(b/440145700

バージョン 1.0.0-alpha07

2025 年 8 月 13 日

androidx.navigation3:navigation3-*:1.0.0-alpha07 がリリースされました。バージョン 1.0.0-alpha07 には、これらの commit が含まれています。

MinSdk の更新

API の変更

  • SavedStateNavEntryDecorator は、SaveableStateProvider に組み込まれた SaveableStateRegistry を使用して状態を保存、復元するようになりました。(If8d9a
  • predictivePopTransitionSpec にスワイプ エッジがパラメータとして提供されるようになり、ユーザーが予測型「戻る」ジェスチャーを開始したエッジに基づいてトランジションをカスタマイズできるようになりました。(I753a8

バグの修正

  • 最新のシーンが記憶されないため、カスタム シーンが無限に再計算される問題を修正しました。(I7ba84b/418153031

依存関係の更新

バージョン 1.0.0-alpha06

2025 年 7 月 30 日

androidx.navigation3:navigation3-*:1.0.0-alpha06 がリリースされました。バージョン 1.0.0-alpha06 にはこれらの commit が含まれています。

依存関係の更新

バージョン 1.0.0-alpha05

2025 年 7 月 2 日

androidx.navigation3:navigation3-*:1.0.0-alpha05 がリリースされました。バージョン 1.0.0-alpha05 には、これらの commit が含まれています。

動作の変更

  • NavEntry の状態は、NavDisplay に渡された現在のデコレータのリストに厳密に基づいています。つまり、複数のバックスタックがある場合、バックスタック上の NavEntry の状態を保持するために、デコレータはバックスタックに沿ってスワップされる必要があります。それ以外の場合、エントリが(スワップではなく)ポップされたかのように状態がクリアされます。(I7a759b/428033667

バージョン 1.0.0-alpha04

2025 年 6 月 18 日

androidx.navigation3:navigation3-*:1.0.0-alpha04 がリリースされました。バージョン 1.0.0-alpha04 にはこれらの commit が含まれています。

API の変更

  • NavEntry.content は非公開になりました。NavEntry コンテンツを呼び出すには、新しい NavEntry.Content() API を呼び出します。この API では、呼び出しに key パラメータは不要になりました。(Icd0fdb/420991203
  • NavEntry.key がプライベート フィールドになりました。NavEntry とその関連する状態は、新しい contentKeyFactory ラムダから生成され、NavEntry.key から生成された保存可能なハッシュをデフォルトとする新しい contentKey フィールドで識別される必要があります。(I81a6cb/422001357b/420991203 I2d7d4b/420991203b/422841812

依存関係の変更

  • Navigation3 は新しい androidx.navigationevent.compose アーティファクトに依存するようになりました。

バージョン 1.0.0-alpha03

2025 年 6 月 4 日

androidx.navigation3:navigation3-*:1.0.0-alpha03 がリリースされました。バージョン 1.0.0-alpha03 にはこれらの commit が含まれています。

バグの修正

  • Navigation3 は、スワップアウトされて別の backStack インスタンスに置き換えられた backStacks のデコレータ状態をクリアしなくなります。(I28a42b/415076044

バージョン 1.0.0-alpha02

2025 年 5 月 23 日

androidx.navigation3:navigation3-*:1.0.0-alpha02 がリリースされました。バージョン 1.0.0-alpha02 にはこれらの commit が含まれています。

バグの修正

  • SavedStateNavEntryDecorator の問題が原因で、同じプロパティ値を持つ異なるデータクラスで競合が発生していた問題を修正しました。(b/418070648Iff4775
  • 明示的な依存関係を宣言せずに実行するとクラッシュする、クラスの欠落に関する問題を修正しました。(b/419049149I4b4ed

バージョン 1.0.0-alpha01

2025 年 5 月 20 日

androidx.navigation3:navigation3-*:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 にはこれらの commit が含まれています。

新機能

Navigation3 は、Jetpack Compose のアプリ内ナビゲーションを処理するために特別に構築された新しいナビゲーション ライブラリです。androidx.navigation3.runtime アーティファクトは構成要素を提供し、androidx.navigation3.ui アーティファクトは NavDisplay API を介して UI レイヤを提供します。デベロッパーは、独自の状態を 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 ガイドをご覧ください。