Android Jetpack架构组件Navigation管理Fragment框架

    • 个人简书地址:[https://www.jianshu.com/p/7e86dea00f4f](https://www.jianshu.com/p/7e86dea00f4f)
    • 个人技术博客地址:[https://blog.51cto.com/1206995290qq/2491975](https://blog.51cto.com/1206995290qq/2491975)

Android官方推荐架构组件Navigation 让单 Activity 应用成为首选架构,更好的管理Fragment框架

Navigation目前仅AndroidStudio 3.2以上版本支持,如果您的版本不足3.2, 下载AndroidStudio3.2以上版本。
官网下载地址:https://developer.android.google.cn/studio/

快速开发, 组件可单独使用,也可以同时工作。 消除样板 ,让代码Android 架构Jetpack管理乏味的活动事件,比如后台任务、导航和生命周期管理。这样你可以专注于让你的app更棒的东西,构建高质量、健壮的app 基于现代设计实践,Android Jetpack组件可以减少崩溃和内存泄漏,且向后兼容。接下来讲述Navigation的使用以及如何管理多个Fragment等

项目builde.gradle文件需配置:

implementation “androidx.navigation:navigation-fragment-ktx:2.3.0-alpha05”
implementation “androidx.navigation:navigation-ui-ktx:2.3.0-alpha05”

1.创建MainActivity和布局文件activity_navigation布局里配置:

Android Jetpack架构组件Navigation管理Fragment框架

activity_navigation.xml布局配置:

android:id="@+id/bottom_nav_view"
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
app:labelVisibilityMode=“labeled”
app:menu="@menu/bottom_nav_menu" />

MainActivity里配置:

val host: NavHostFragment = supportFragmentManager
.findFragmentById(R.id.my_nav_host_fragment) as NavHostFragment? ?: return

val navController = host.navController

val bottomNav = findViewById(R.id.bottom_nav_view)

bottomNav?.setupWithNavController(navController)

2、新建HomeFragment、FlowStepFragment、FlowStepFragment、SettingsFragment、DeepLinkFragment在Fragment片段里跳片段方法

方法1: view.findViewById(R.id.navigate_destination_button).setOnClickListener( Navigation.createNavigateOnClickListener(R.id.next_action) )

方法2: view.findViewById(R.id.navigate_destination_button)?.setOnClickListener { findNavController().navigate(R.id.flow_step_one_dest, null, null) }

3、在res里新建文件夹navigation 类型选择Navigation,然后在这个文件夹里创建mobile_navigation.xml

在mobile_navigation.xml里写入要跳转的各个片段Fragment及要传递的参数: startDestination默认第一个跳的片段id
destination跳到另外一个片段id
action 隐式跳转 ,argType传递参数类型,defaultValue传递参数值

Android Jetpack架构组件Navigation管理Fragment框架

Android Jetpack架构组件Navigation管理Fragment框架

<?xml version="1.0" encoding="utf-8"?>





项目地址:https://github.com/Visen123/MyNavigation

个人简书地址:https://www.jianshu.com/p/7e86dea00f4f

个人技术博客地址:https://blog.51cto.com/1206995290qq/2491975

喜欢的点个赞或者关注哦,你的关注和点赞是我最大的支持和鼓励,谢谢,加油
Android 编程开发学习教程微信公众号:

Android Jetpack架构组件Navigation管理Fragment框架_第1张图片
Android 编程开发视频教学 哔哩哔哩号:
Android Jetpack架构组件Navigation管理Fragment框架_第2张图片

更多相关文章

  1. android 概述 及四大组件
  2. Android UI架构(四)--SurfaceFlinger的初始化.md
  3. Github 上Top1的Android 异步网络请求框架
  4. Android RIL 总体架构介绍
  5. Android 热修复框架: Sophix基本使用
  6. Android 组件 ContentProvider 内容提供者
  7. Android学习之图片异步加载框架Picasso

随机推荐

  1. Kohana和ORM的关系has_many_through
  2. 与vanilla JS的Ajax请求正在退回200OK
  3. 维基百科,如在PHP中列出标题的索引
  4. php 显示某一个时间相当于当前时间在多少
  5. php默认有最大执行时间
  6. nginx + fastcgi  php配置下,安全的文件
  7. 如何使用变量访问多维数组中的某些元素?
  8. php 基本的常用字符串函数
  9. Laravel Migration - 创建从现有列填充
  10. 天气预报API接口大全