Navigation是google新推出的導(dǎo)航逐漸,可以更方便的管理Fragment肥缔,不必再使用傳統(tǒng)的add莲兢,replace等操作來實現(xiàn)。本文簡單介紹下Navigation與BottomNavigationView的基本使用续膳。效果如下圖所示:
一改艇、界面布局
二、創(chuàng)建BottomNavigationView對應(yīng)的選項
在資源menu目錄下創(chuàng)建bottom_nav_menu.xml文件坟岔,新增item選項谒兄。
item中的android:id可以自己定義,也可以與Navigation導(dǎo)航圖中的fragment的id一樣社付,兩者相同可以簡化操作承疲。后面會說明。
三鸥咖、Navigation的導(dǎo)航圖
此導(dǎo)航圖中定義了三個fragment纪隙,對應(yīng)的id與menu中item的id不一致。注意:兩者ID一致可簡化操作扛或。
四、Navigation與BotttomNavigationView進行關(guān)聯(lián)
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進行關(guān)聯(lián)碘饼。
五熙兔、BotttomNavigationView中item的跳轉(zhuǎn)操作
需要通過setOnNavigationItemSelectedListener來實現(xiàn)悲伶。
再回調(diào)中根據(jù)選擇的item,通過navigate跳轉(zhuǎn)到導(dǎo)航圖中對應(yīng)的fragment住涉,這種是menu中對應(yīng)的id與
導(dǎo)航圖中的id不一致的方式麸锉。兩者id相同的方式可以使用:
NavigationUI.onNavDestinationSelected(item,navController);