Jetpack中Navigation的使用

什么是Navigation

Navigation 是一个框架,用于在 Android 应用中的“目标”之间导航。通俗来讲就是用于一个主Activity上多个Fragment页面的跳转。如果是比较简单的应用完全可以只用一个Activity和多个Fragment实现需要的功能。

navigation由以下三个关键部分组成:
  1. 导航图:在一个集中位置包含所有导航相关信息的 XML 资源。这包括应用内所有单个内容区域(称为目标)以及用户可以通过应用获取的可能路径。
  2. NavHost:显示导航图中目标的空白容器。导航组件包含一个默认 NavHost 实现 (NavHostFragment),可显示 Fragment 目标。
  3. NavController:在 NavHost 中管理应用导航的对象。当用户在整个应用中移动时,NavController 会安排 NavHost 中目标内容的交换。
提供各种其他优势,包括以下内容:
  1. 处理 Fragment 事务。
  2. 默认情况下,正确处理往返操作。
  3. 为动画和转换提供标准化资源。
  4. 实现和处理深层链接。
  5. 包括导航界面模式(例如抽屉式导航栏和底部导航),用户只需完成极少的额外工作。
  6. Safe Args - 可在目标之间导航和传递数据时提供类型安全的 Gradle 插件。
  7. ViewModel 支持 - 您可以将 ViewModel 的范围限定为导航图,以在图表的目标之间共享与界面相关的数据。
Navigation的使用

第一步:添加依赖

dependencies {
   
  def nav_version = "2.3.5"
  // Java language implementation
  implementation "androidx.navigation:navigation-fragment:$nav_version"
  implementation "androidx.navigation:navigation-ui:$nav_version"

  // Kotlin
  implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
  implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
}

第二步:找到资源文件res目录,鼠标右键选择new -> Android Resource File,Resource type选择Navigation,输入自己的xml文件名,点击ok,as会自动生成navigation文件夹,并且在这个文件夹下生成你命名的xml文件。这个文件里面就是用来管理fragment的跳转指向和跳转动画。

第三步:可以把xml切换成Design模式,这个模式可以是可操作界面,可以节省写代码的操作。

  1. 点击左上角add图标,会有一个列表,列表中展示的是已经创建过的f
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值