美文网首页Android广场
Android Jetpack架构组件Navigation管理F

Android Jetpack架构组件Navigation管理F

作者: Visen遥清风 | 来源:发表于2020-08-07 15:38 被阅读0次

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布局里配置:

activity_navigation.xml布局配置:

MainActivity里配置:

val host: NavHostFragment = supportFragmentManager        .findFragmentById(R.id.my_nav_host_fragment)asNavHostFragment? ?:returnval 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传递参数值

http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

app:startDestination="@+id/home_dest">

<!--todo destination隐式跳转到Fragement id=flow_step_one_dest -->

</navigation>

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

喜欢的点个赞或者关注哦,谢谢

                                                                                        欢迎关注微信公众号

相关文章

网友评论

    本文标题:Android Jetpack架构组件Navigation管理F

    本文链接:https://www.haomeiwen.com/subject/hoifdktx.html