Android 技能
在 GitHub 上查看Jetpack Navigation 3
使用 Android 技能帮助您使用 Jetpack Navigation 3 进行构建。
如需从 Android CLI 安装该技能,请运行以下命令:
android skills add navigation-3Navigation 3 是一个旨在与 Compose 搭配使用的新导航库。借助 Navigation 3,您可以完全控制返回堆栈,并通过在列表中添加和移除项来导航到目的地和从目的地导航。它通过提供以下内容来创建灵活的应用导航系统:
- 用于对返回堆栈进行建模的惯例,其中返回堆栈中的每个条目都表示用户已导航到的内容
- 一个界面,该界面会随着返回堆栈的变化(包括动画)自动更新
- 返回堆栈中项的作用域,允许在项位于返回堆栈中时保留状态
- 一个自适应布局系统,该系统允许同时显示多个目的地,并允许在这些布局之间无缝切换
- 一种让内容与其父布局(元数据)通信的机制
从较高的层面来看,您可以通过以下方式实现 Navigation 3:
- 定义用户可以在应用中导航到的内容,每个内容都有一个唯一的键,并添加一个函数来将该键解析为内容。请参阅将键解析 为内容。
- 创建一个返回堆栈,当用户在应用中导航时,键会被推送到该堆栈中并从该堆栈中移除 您的应用。请参阅创建返回堆栈。
- 使用
NavDisplay显示应用的返回堆栈。每当返回堆栈发生变化时,它都会更新界面以显示相关内容。请参阅显示 返回堆栈。 - 根据需要修改
NavDisplay's 场景策略,以 支持自适应布局和不同的平台。 - 支持深层链接,以便直接导航到目的地。
您可以在 AOSP 上查看 Navigation 3 的完整源代码。
对 Jetpack Navigation 的改进
Navigation 3 在以下方面改进了原始 Jetpack Navigation API:
- 提供与 Compose 的更简单集成
- 让您可以完全控制返回堆栈
- 可以创建能够同时从返回堆栈中读取多个目的地的布局,从而使其能够适应窗口大小和其他输入的变化。
如需详细了解 Navigation 3 的原则和 API 设计选择,请参阅 公告博文。
代码示例
recipes 仓库包含有关如何使用 Navigation 3 构建块来解决常见导航挑战的示例。