Android使用BottomNavigationBar实现导航栏功能

基本属性

setActiveColor //选中item的字体颜色
setInActiveColor //未选中Item中的颜色
setBarBackgroundColor//背景颜色
setMode(BottomNavigationBar.MODE_FIXED) //填充模式,未选中的Item会显示文字,没有换挡动画
setMode(BottomNavigationBar.MODE_SHIFTING) //换挡模式,未选中的Item不会显示文字,选中的会显示文字
setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC) //点击的时候没有水波纹效果
setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_RIPPLE) //点击的时候有水波纹效果,也就是导航条的背景色是你设置的处于选中状态的 Item的颜色
addItem(new BottomNavigationItem(R.mipmap.ic_launcher_round, mTitles[0]) //添加一个BottomNavigationItem子项,设置图标和文字
setInactiveIcon(ContextCompat.getDrawable(this, R.mipmap.ic_launcher)) //添加选中时的变更图标
setFirstSelectedPosition(0) //默认选中下标为0的item
setBadgeItem() //添加BadgeItem标记
initialise() //绘制,要放在设置最后

setTabSelectedListener监听器

bottomNavigationBar.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener() {
 @Override
 public void onTabSelected(int position) {
  //获得选中状态时触发,可以做fragmengt页面切换
  Toast.makeText(MainActivity.this,"当前选中"+position,Toast.LENGTH_SHORT).show();
    
 }
 @Override
 public void onTabUnselected(int position) {
  //当失去焦点不被选中的时候触发
  Toast.makeText(MainActivity.this,position+"失去了焦点",Toast.LENGTH_SHORT).show();
 }
 @Override
 public void onTabReselected(int position) {
  //触发不了,我也母鸡
 }
});

BadgeItem标记

1.五角星标记

mShapeBadgeItem = new ShapeBadgeItem()
  .setShapeColorResource(R.color.colorPrimary) //背景颜色
  .setGravity(Gravity.TOP ) //位置 默认右上
  .setAnimationDuration(200)//动画时长
  .setHideOnSelect(false)//true当选中状态时消失,非选中状态再次显示
  .show();
hide() //隐藏

2.文本标记

mTextBadgeItem = new TextBadgeItem()
  .setBorderWidth(4)//文本大小
  .setGravity(Gravity.TOP )//位置 默认右上
  .setBackgroundColorResource(R.color.colorAccent)//背景颜色
  .setAnimationDuration(200)//动画时间
  .setText("3")
  .setHideOnSelect(false)//true当选中状态时消失,非选中状态再次显示
  .show();

官方all.gif

view源码下载地址

总结

以上所述是小编给大家介绍的Android BottomNavigationBar导航栏功能的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。