还是记一下吧,免得以后又忘记
BottomNavigationBar
一、总体布局:fragment+BottomNavigationBar
二、实现4个fragment及其布局文件
三、继承BottomNavigationBar.OnTabSelectedListener并实现其onTabSelected()方法
1、在Activity的初始化方法中findViewById()操作,然后设置模式和背景风格
模式有三种:
MODE_DEFAULT
如果Item的个数<=3就会使用MODE_FIXED模式,否则使用MODE_SHIFTING模式
MODE_FIXED
填充模式,未选中的Item会显示文字,没有换挡动画。
MODE_SHIFTING
换挡模式,未选中的Item不会显示文字,选中的会显示文字。在切换的时候会有一个像换挡的动画
Background Style有三种
BACKGROUND_STYLE_DEFAULT
如果设置的Mode为MODE_FIXED,将使用BACKGROUND_STYLE_STATIC 。如果Mode为MODE_SHIFTING将使用BACKGROUND_STYLE_RIPPLE。
BACKGROUND_STYLE_STATIC
点击的时候没有水波纹效果
BACKGROUND_STYLE_RIPPLE
点击的时候有水波纹效果
添加四个对应的底部导航 bnb.addItem(new BottomNavigationItem(R.mipmap.ic_launcher,"首页").setActiveColorResource(R.color.colorPrimary).setInActiveColorResource(R.color.colorAccent))
设置四个地步导航之后要设置导航的默认位置也就是第一个
.setFirstSelectedPosition(0)//默认选择导航为0的位置
.initialise();//对导航进行重绘
2.需要一个获取四个Fragment集合并且把四个Fragment添加进去(中间fragment.newinstace("没有参数,添加会报错,在网上的相关资料里面是添加有参数的")======》未解决)
3.设置默认的Fragment
4.onTabSelected() 在回调方法中要实现点击底部任意导航切换到对应的fragment(注意:要使用commitAllowingStateLoss()进行提交)