Android 底部导航栏BottomNavigationBar简单使用

前言

相信大家都有接触到安卓底部导航栏的使用,点击底部不同的图标显示不同的页面实现导航功能。而实现这种功能有很多的方法,有原始线性布局LinearLayout + TextView,按钮组RadioGroup + RadioButton,还有BottomNavigationBar实现。最近学习了BottomNavigationBar使用,写这篇文章记录一下学习过程。

实现如图:
Android 底部导航栏BottomNavigationBar简单使用_第1张图片

使用之前添加依赖:

implementation 'com.ashokvarma.android:bottom-navigation-bar:2.0.4'

模仿QQ音乐底部导航栏 如图下:

添加布局



    
    

    

设置BottomNavigationBar

    private void initBottomNavigationBar(){
        BottomNavigationBar mBottomNavigationBar = findViewById(R.id.bottom_navigation_bar);
        // 初始化导航栏
        mBottomNavigationBar
                .setTabSelectedListener(this)
                .setMode(BottomNavigationBar.MODE_FIXED ) //MODE_FIXED样式,“填充模式”,未选中的Item不显示文字,选中的显示文字,有切换动画效果。
                .setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC)//BACKGROUND_STYLE_STATIC,"静态样式",点击没有波纹效果
                .setActiveColor("#71C671")//选中颜色
//                .setInActiveColor("#FFFAFA")//未选中颜色
                .setBarBackgroundColor("#FFFFFF");//导航栏背景色
        
        // 添加导航按钮
        mBottomNavigationBar
                .addItem(new BottomNavigationItem(R.drawable.ic_music02,"音乐馆"))
                .addItem(new BottomNavigationItem(R.drawable.ic_recommend02,"推荐"))
                .addItem(new BottomNavigationItem(R.drawable.ic_dynamic,"动态"))
                .addItem(new BottomNavigationItem(R.drawable.ic_mine,"我的"))
                .initialise();//完成设置后须调用此方法
    }

用法说明:
setMode方法中,Mode有3个值可以设置,分别是:
1.MODE_DEFAULT
默认模式,如果Item的个数<=3就会使用MODE_FIXED模式,否则使用MODE_SHIFTING模式。
2.MODE_FIXED (固定大小)
填充模式,未选中的Item会显示文字,没有换挡动画。
3.MODE_SHIFTING (不固定大小)
换挡模式,未选中的Item不会显示文字,选中的会显示文字。在切换的时候会有一个像换挡的动画。
setBackgroundStyle方法中,BackgroundStyle也有3个值可以设置,分别是:
1.BACKGROUND_STYLE_DEFAULT
如果设置的Mode为MODE_FIXED,将使用BACKGROUND_STYLE_STATIC 。如果Mode为MODE_SHIFTING将使用BACKGROUND_STYLE_RIPPLE。

2.BACKGROUND_STYLE_STATIC
点击的时候没有水波纹效果,航条的背景色是白色,加上setBarBackgroundColor()可以设置成你所需要的任何背景颜色

BACKGROUND_STYLE_RIPPLE
点击的时候有水波纹效果,导航条的背景色是你设置的处于选中状态的 Item的颜色(ActiveColor),也就是setActiveColorResource这个设置的颜色
BottomNavigationBar三个按钮点击事件监听,分别是:

  //未选中变选中的监听事件
    @Override
    public void onTabSelected(int position) {
        switch (position){
            case 0:
                break;
            case 1:
                break;
            case 2:
                break;
            case 3:
                break;
        }

    }

    //选中变未选中的监听事件
    @Override
    public void onTabUnselected(int position) {

    }

    //选中到再次选中的监听事件
    @Override
    public void onTabReselected(int position) {

    }

常用的需求是由未选中变为选中的监听方法,即onTabSelected。
参考:
Android底部导航 BottomNavigationBar(Google官方)

你可能感兴趣的:(仿QQ音乐播放器)