关于 navigation-3
为 Android Navigation 3 提供迁移指南、文档指引和示例,面向使用 Compose 的 Android 开发者,涵盖返回栈、深度链接与自适应布局等导航模式。
主要功能
- 01Navigation 2 迁移指南
- 02Compose 导航示例
- 03深度链接处理模式
- 04自适应场景与布局
- 05返回栈和状态示例
适用场景
- 01将应用从 Navigation 2 迁移
- 02添加带参数的深度链接
- 03构建自适应列表详情界面
- 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.mdreferences/android/guide/navigation/navigation-3/index.mdmigration-guide.mdreferences/android/guide/navigation/navigation-3/recipes/animations.mdbasic.mdbasicdsl.mdbasicsaveable.mdbottomsheet.mdcommon-ui.mdconditional-transitions.mdconditional.mddeeplinks-custommatcher.mddeeplinks-staticuri.mddeeplinks-syntheticbackstack.mddeeplinks-uriarguments.mddialog.mdlifecycle-owner.mdmaterial-listdetail.mdmaterial-supportingpane.mdmodular-hilt.mdmodular-koin.mdmultiple-backstacks.mdpassingarguments.mdresults-event.mdresults-state.mdscenes-listdetail.mdscenes-twopane.md详细介绍
迁移指南
- Navigation 2 到 Navigation 3 迁移指南:逐步介绍如何将 Android 应用从 Navigation 2 迁移到 Navigation 3,涵盖依赖项更新、路由变更、状态管理和 UI 组件替换。
要求
- 指南:迁移到 Compose 中的类型安全导航 :逐步介绍如何在 Jetpack Compose 中使用 Jetpack Navigation 2,将 Android 应用从基于字符串的导航迁移到类型安全导航。
开发者文档
- Navigation 3。搜索文档,了解基础知识、导航状态的保存和管理、导航代码模块化、使用 Scenes 创建自定义布局、目的地之间的动画,以及对目的地应用逻辑或包装器等内容。
示例
展示常见模式的代码示例。
基本 API 用法
- 基本用法:展示最基本的 API 用法。
- 可保存的返回栈:展示带持久化返回栈的基本 API 用法。
- Entry provider DSL:展示如何使用 entryProvider DSL 实现基本 API 用法。
常见 UI
- 常见 UI:演示如何实现常见的导航 UI 模式,其中包含底部导航栏和多个返回栈,导航栏中的每个标签页都有自己的导航历史记录。
深层链接
- 静态 URI:展示如何处理简单的静态 URI 深层链接。
- 带参数的 URI:展示如何从深层链接中解析路径和查询参数。
- 合成返回栈:展示如何处理带有合成返回栈的深层链接。
- 自定义匹配器:展示如何实现自定义深层链接匹配逻辑。
Scenes
使用内置 Scenes
- 对话框:展示如何创建 Dialog。
创建自定义 Scenes
- BottomSheet:展示如何创建 BottomSheet 目的地。
- 列表-详情 Scene:演示如何使用 Navigation 3 Scenes API 实现自适应列表-详情布局。
- 双窗格 Scene:演示如何使用 Navigation 3 Scenes API 实现自适应双窗格布局。
Material Adaptive
- Material 列表-详情:演示如何使用 Material 3 Adaptive 实现自适应列表-详情布局。
- Material 辅助窗格:演示如何使用 Material 3 Adaptive 实现自适应辅助窗格布局。
动画
通用返回栈行为
- 多个返回栈:展示如何创建多个顶层路由,每个路由都有自己的返回栈。顶层路由会显示在导航栏中,用户可以在它们之间切换。每个顶层路由的状态都会保留,导航状态也会在配置更改和进程终止后保持不变。
条件导航
- 条件导航:满足条件时切换到不同的导航流程。例如,用于身份验证或首次使用时的新手引导。
生命周期
- 生命周期所有者:展示如何在 Navigation 3 中使用和观察 Lifecycle。
架构
- 模块化导航代码(Hilt):演示如何使用 Hilt 或 Dagger 进行 DI,将导航代码解耦到不同模块中。
- 模块化导航代码(Koin):演示如何使用 Koin 进行 DI,将导航代码解耦到不同模块中。
使用 ViewModel
传递导航参数
- 基础 ViewModel:导航参数会传递给使用
viewModel()构造的ViewModel。
返回结果
评论
支持 Markdown