XML布局文件:
BottomNavigationBar初始化:
bottomNavigationBar
.setMode(MODE_FIXED) // 设置mode
.setBackgroundStyle(BACKGROUND_STYLE_RIPPLE) // 背景样式
.setBarBackgroundColor("#2FA8E1") // 背景颜色
.setInActiveColor("#929292") // 未选中状态颜色
.setActiveColor("#ffffff") // 选中状态颜色
.addItem(new BottomNavigationItem(R.drawable.message,"消息").setInactiveIconResource(R.drawable.message_no)) // 添加Item
.addItem(new BottomNavigationItem(R.drawable.kaoqing,"考勤").setInactiveIconResource(R.drawable.kaoqing_no))
.addItem(new BottomNavigationItem(R.drawable.job,"工作").setInactiveIconResource(R.drawable.job_no))
.addItem(new BottomNavigationItem(R.drawable.user,"我的").setInactiveIconResource(R.drawable.user_no))
.setFirstSelectedPosition(0) //设置默认选中位置
.initialise() // 提交初始化(完成配置)
添加监听:
// BottomNavigationBar.OnTabSelectedListener()是一个接口
bottomNavigationBar.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener() {//这里也可以使用SimpleOnTabSelectedListener
@Override
public void onTabSelected(int position) {//未选中 -> 选中
}
@Override
public void onTabUnselected(int position) {//选中 -> 未选中
}
@Override
public void onTabReselected(int position) {//选中 -> 选中
}
});
添加badgeItem:
private void initBottomBar() {
/**
* 导航基础设置 包括按钮选中效果 导航栏背景色等
*/
bottomNavigationBar.setTabSelectedListener(this)
.setMode(BottomNavigationBar.MODE_FIXED)
.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC)
.setActiveColor("#ffffff")//选中颜色
.setInActiveColor("#2B2B2B")//未选中颜色
.setBarBackgroundColor("#EDC18E");//导航栏背景色
badgeItem = new TextBadgeItem()
.setBorderWidth(2)//Badge的Border(边界)宽度
.setBorderColor(Color.BLUE)//Badge的Border颜色
.setBackgroundColor(Color.RED)
.setTextColor(Color.BLACK)//文本颜色
.setGravity(Gravity.RIGHT| Gravity.TOP)//位置,默认右上角
.setAnimationDuration(2000)
.setHideOnSelect(true)//当选中状态时消失,非选中状态显示
.setText("99");
/**
*添加导航按钮
*/
bottomNavigationBar.addItem(new BottomNavigationItem(R.mipmap.home,"首页"))
.addItem(new BottomNavigationItem(R.mipmap.setting,"设置"))
.addItem(new BottomNavigationItem(R.mipmap.menu,"菜单").setInActiveColor("#ffff00"))
.addItem(new BottomNavigationItem(R.mipmap.person,"个人").setBadgeItem(badgeItem)) //添加小红点数据 把实例化的badgeItem设置进去
.initialise();//initialise 一定要放在 所有设置的最后一项