Navigation是google新推出的导航逐渐,可以更方便的管理Fragment,不必再使用传统的add,replace等操作来实现。本文简单介绍下Navigation与BottomNavigationView的基本使用。效果如下图所示:
一、界面布局
二、创建BottomNavigationView对应的选项
在资源menu目录下创建bottom_nav_menu.xml文件,新增item选项。
item中的android:id可以自己定义,也可以与Navigation导航图中的fragment的id一样,两者相同可以简化操作。后面会说明。
三、Navigation的导航图
此导航图中定义了三个fragment,对应的id与menu中item的id不一致。注意:两者ID一致可简化操作。
四、Navigation与BotttomNavigationView进行关联
BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_nav_tab);
navController = Navigation.findNavController(findViewById(R.id.nav_bottom_host_fragment));
bottomNavigationView.setItemIconTintList(null);
NavigationUI.setupWithNavController(bottomNavigationView,navController);
通过使用NavigationUI的setupWithNavController进行关联。
五、BotttomNavigationView中item的跳转操作
需要通过setOnNavigationItemSelectedListener来实现。
再回调中根据选择的item,通过navigate跳转到导航图中对应的fragment,这种是menu中对应的id与
导航图中的id不一致的方式。两者id相同的方式可以使用:
NavigationUI.onNavDestinationSelected(item,navController);