Navigation 指南

文章目录


由于官网暂时没有中文版本,所以在这里根据内容抽空做了一些中文的版本.

原文首发于 https://leonchen1024.com/2019/07/04/Navigation/#more

Navigation 是用来管理你的app中内容的跳转,返回等操作.它主要包含了以下三个部分:

  • Navigation graph : 一个 xml 资源包含了所有的导航相关的信息. 这些信息包含了你app里所有独立的内容区域,也就是 destinations .
  • NavHost : 一个空白的容器用来展示你的 Navigation graph 中的 destinations . Navigation 模块中包含了一个默认的实现 NavHostFragment 用来展示 Fragment 的 destinations .
  • NavController : 一个管理 NavHost 中的导航的对象. 会在用户使用app的时候管理 NavHost 中的内容.

当在页面内导航的时候,你可以告诉 NavController 你想要通过Navigation graph 中的某个路径或者直接导航到一个destination .这时候 NavController 就会在 NavHost 中展示合适的 destination.

Navigation 模块还提供了其他的好处,比如:

  • 处理了 fragment transactions
  • 默认情况下正确的处理了向上和返回动作
  • 为动画和过渡提供了标准化的资源
  • 实现和处理了深链接
  • 内置了 Navigation UI 组件,比如 navigation drawers 和 bottom navigation,可以减少附加的工作
  • Safe Args - 一个 Gradle 插件当导航并在两个目的地中传递数据的时候提供了类型安全机制
  • ViewModel 支持 - 你可以将 ViewModel 的作用域设置为 navigation graph 来在不同的 目的地之间共享 UI 相关连的数据

并且你还可以使用 Android Studio’s Navigation Editor 来查看和编辑 navigation graphs.

原文首发于 https://leonchen1024.com/2019/07/04/Navigation/#more

Next steps

For more documentation and resources related to the Navigation component, see the following.

Getting started

Further topics

Additional resources

To learn more about navigation, see the following additional resources.

Samples

Codelabs

Blog posts

Videos

Reference

https://developer.android.google.cn/guide/navigation

About Me

我的博客 leonchen1024.com

我的 GitHub https://github.com/LeonChen1024

微信公众号

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值