美文网首页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