mcpField
N
navigation-3

navigation-3

github.com/android开发10.0k3.3k 次安装2 天前更新
代码仓库

关于 navigation-3

为 Android Navigation 3 提供迁移指南、文档指引和示例,面向使用 Compose 的 Android 开发者,涵盖返回栈、深度链接与自适应布局等导航模式。

主要功能

  1. 01Navigation 2 迁移指南
  2. 02Compose 导航示例
  3. 03深度链接处理模式
  4. 04自适应场景与布局
  5. 05返回栈和状态示例

适用场景

  1. 01将应用从 Navigation 2 迁移
  2. 02添加带参数的深度链接
  3. 03构建自适应列表详情界面
  4. 04为不同标签保留独立返回栈

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/android/skills --skill navigation-3

安装后在 Claude Code 中输入/navigation-3确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/android/guide/navigation/
type-safe-destinations.md
references/android/guide/navigation/navigation-3/
index.md
migration-guide.md
references/android/guide/navigation/navigation-3/recipes/
animations.md
basic.md
basicdsl.md
basicsaveable.md
bottomsheet.md
common-ui.md
conditional-transitions.md
conditional.md
deeplinks-custommatcher.md
deeplinks-staticuri.md
deeplinks-syntheticbackstack.md
deeplinks-uriarguments.md
dialog.md
lifecycle-owner.md
material-listdetail.md
material-supportingpane.md
modular-hilt.md
modular-koin.md
multiple-backstacks.md
passingarguments.md
results-event.md
results-state.md
scenes-listdetail.md
scenes-twopane.md

详细介绍


迁移指南

要求

开发者文档

  • Navigation 3。搜索文档,了解基础知识、导航状态的保存和管理、导航代码模块化、使用 Scenes 创建自定义布局、目的地之间的动画,以及对目的地应用逻辑或包装器等内容。

示例

展示常见模式的代码示例。

基本 API 用法
常见 UI
  • 常见 UI:演示如何实现常见的导航 UI 模式,其中包含底部导航栏和多个返回栈,导航栏中的每个标签页都有自己的导航历史记录。
深层链接
  • 静态 URI:展示如何处理简单的静态 URI 深层链接。
  • 带参数的 URI:展示如何从深层链接中解析路径和查询参数。
  • 合成返回栈:展示如何处理带有合成返回栈的深层链接。
  • 自定义匹配器:展示如何实现自定义深层链接匹配逻辑。
Scenes
使用内置 Scenes
创建自定义 Scenes
  • BottomSheet:展示如何创建 BottomSheet 目的地。
  • 列表-详情 Scene:演示如何使用 Navigation 3 Scenes API 实现自适应列表-详情布局。
  • 双窗格 Scene:演示如何使用 Navigation 3 Scenes API 实现自适应双窗格布局。
Material Adaptive
动画
  • 动画:展示如何覆盖所有目的地和单个目的地的默认动画。
  • 条件转换:展示如何实现条件转换动画。
通用返回栈行为
  • 多个返回栈:展示如何创建多个顶层路由,每个路由都有自己的返回栈。顶层路由会显示在导航栏中,用户可以在它们之间切换。每个顶层路由的状态都会保留,导航状态也会在配置更改和进程终止后保持不变。
条件导航
  • 条件导航:满足条件时切换到不同的导航流程。例如,用于身份验证或首次使用时的新手引导。
生命周期
架构
使用 ViewModel
传递导航参数
  • 基础 ViewModel:导航参数会传递给使用 viewModel() 构造的 ViewModel。
返回结果

评论

支持 Markdown