Android Jetpack -- Navigation 篇
Navigation是指允许用户在应用程序中浏览、进入和退出不同内容的Fragment 。Navigation能够实现从简单的按钮单击到更复杂的模式,如应用程序栏和导航抽屉。导航组件还通过遵循一套既定的原则来确保一致和可预测的用户体验。 Navigation的原则: 固定的起始位置:除去登陆等一次性界面,用户在启动App最先看到的界面需要为一个固定的起始界面。 Navigation的表现形式为堆栈形式:Navigation类似于栈,栈顶为用户所看到的界面,界面的切换总是在栈顶进行,导航到目标后,目标位于栈顶。 标题栏的回退应该和返回键的功能一样,但是标题栏不能退出应用:这个也很容易理解,因为两个的定义就存在本质的区别。 Deep Link:比如从浏览器跳转到其他App时,用户首先看到的应该还是浏览器的那个页面,没有其他界面的跳转过程。 Navigation有三个主要的部分: Navigation graph:就是Navigatation的xml文件,包含所有的需要跳转的目标 NavHost:一个容器,用于显示 NavController:控制跳转流程 具体实现(简单例子) 首先新建新建两个Fragment,HomeFragment和DetailFragment 在其对应生成的xml文件中添加一些控件 frament_home.xml 1 <?xml version="1.0"