怎么在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();
关于怎么在Android中使用BottomNavigationBar实现一个导航栏功能问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。