android navigation 学习笔记1

android navigation 官方地址
https://developer.android.google.cn/topic/libraries/architecture/navigation/

导航相关基本概念:

1. 目的地 Destination

就是跳转到哪儿,可以是fragment,或者是activity
必须定义在xml 中,后面会讲解

2. 行为 Action,

定义跳转这个行为,可以配置一些跳转参数
必须定义在xml 中,后面会讲解

使用入门;

0. 环境配置

  • 使用 [Android Studio 3.2 Canary 14 或更高的版本
  • 引用 navigation 库
def nav_version = "1.0.0-alpha01"
implementation "android.arch.navigation:navigation-fragment:$nav_version" // use -ktx for Kotlin
mplementation "android.arch.navigation:navigation-ui:$nav_version" // use -ktx for Kotlin

1.navigation 配置文件定义

需要在res 目录下新建目录navigation
然后在res/navigation 新建一个xml文件,例如 navigation.xml
在navigation.xml 中定义action 和destination ,例如




<-- app:startDestination 表示导航栈的栈底是那个目的地(fragment/activity)--/>

<--定义了id为title_screen 是一个fragment 的目的地--/>
    
<--定义了跳转行为,app:destionation 的值,是目的地的id,为注册的fragment-->
        
     
    
    


2. 在activity 中配置

在布局文件中定义导航器




<--NavHostFragment 是navigation 库提供的容器fragment,
app:navGraph 定义了这个导航器的配置文件id-->
    

3. 发起跳转

// 跳转到注册的fragment
Navigation.findNavController(view).navigate(R.id.register);

你可能感兴趣的:(android navigation 学习笔记1)