navigation是为了统一app内所有页面导航的能力
一、layout的一些属性
点击的底部按钮会又微微变大
1.1. defaultNavHost
activity_main.xml
app:defaultNavHost="true"
是否和系统的返回键相关联:
- 如果相关联 点击系统的返回键NavHost会判断回退栈是否还有fragment
- 如果有fragment会拦截系统的返回键
- 如果无fragment就执行系统返回键的默认行为
1.2 navGraph
activity_main.xml
app:navGraph="@navigation/mobile_navigation"
navGraph : 页面路由结构
mobile_navigation.xml
app:startDestination="@+id/navigation_home"
1.3 deepLink
指定默认显示的页面 fragment 节点指的是一个页面
<fragment
android:id="@+id/navigation_home"
android:name="com.example.travelshoot.ui.home.HomeFragment"
android:label="@string/title_home"
tools:layout="@layout/fragment_home">
<!--创建当前fragment需要的参数-->
<argument
android:name