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) {
        //获得选中状态时触发
        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

Android BottomNavigationBar导航栏

view源码下载地址

Android BottomNavigationBar导航栏

上一篇:Android 计时器及TimerTask is scheduled already的Bug处理


下一篇:小米手机 - Charles无法安装证书 因为无法读取证书