参考资料
一、简介
1.定义
Navigation:一个可简化android导航的库和插件,用于管理fragment的切换。
2.优点
1.处理fragment的切换。
2.默认情况下正确处理fragment的前进和后退。
3.为过度和动画提供标准化资源。
4.实现和处理深层连接。
5.可以绑定Toolbar、BottomNavgationView和ActionBar等控件。
6.SafeArgs(Gradle插件)数据传递时提供类型安全性。
7.支持ViewModel。
3.导航组件
1.导航图(新XML资源):这是一个在集中位置包含所有导航相关的XML资源。其中包括应用内的所有位置(称为“目的地”)
以及用户在应用中可采取的可能路径。
2.NavHostFragment(布局XML视图):这是一个添加到布局中的特殊微件。它会显示导航图中的不同目的地。
3.NavController(kotlin/java对象):这是用于跟踪导航图中当前位置的对象。当您在导航图中移动时,它会编排NavHostFragment
中目的地内容的交换。
4.基本思路
导航时,您将使用NavController对象,在导航图中向该对象指示您要的去的地方或要使用的路径。NavController随后会在NavHostFragment
中显示相应的目的地。