(Android View)花样底部导航栏使用(BottomNavigationBar)

本文详细介绍了如何使用BottomNavigationView组件实现应用底部导航功能。包括在Gradle中添加依赖、布局文件配置、设置不同模式及背景风格等操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BottomNavigationView 

首先回顾下这个导航栏,发现已经满足不了我们的需求了,我们现在来使用一下其他的开源组件。

1.现在风评较好的BottomNavigation

giehub地址:点击打开链接

这个东西使用起来也十分的简单

首先在module级gradle中添加依赖。

 

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

接着正常加入布局文件

<com.ashokvarma.bottomnavigation.BottomNavigationBar
    android:layout_gravity="bottom"
    android:id="@+id/navigation_bar_main"
    android:layout_width="match_parent"
    android:layout_height="50dp"/>

接着就是主界面中的设置了,我的风格就是能解释的尽量写在代码注释里,反正是学习过程,也没有什么代码检视了,Low就Low吧。

 BottomNavigationBar navigation_bar_main;//注意实例化
    private void setNaviBar() {
/*      1.设置按钮模式  setMode()
        MODE_DEFAULT 自动模式
        if(item>=3)MODE_FIXED模式elseMODE_SHIFTING模式
         MODE_FIXED 固定模式
         未选中的Item()会显示文字,没有切换动画。
         ODE_SHIFTING 切换模式
         就是未选中的Item不会显示文字,选中的会显示文字。又切换动画*/
        navigation_bar_main.setMode(BottomNavigationBar.MODE_SHIFTING);
      /*  设置背景风格    setBackgroundStyle()
         BACKGROUND_STYLE_STATIC 静态的
         BACKGROUND_STYLE_RIPPLE  动态水波纹效果*/
        navigation_bar_main.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_RIPPLE);

        /*添加并设置图标、图标的颜色和文字
        setInActiveColor() 设置Item未选中颜色
        setActiveColor() 设置Item选中颜色

        setActiveColor()
        前面设置BACKGROUND_STYLE_STATIC下,表示选中Item的图标和文本颜色。
        BACKGROUND_STYLE_RIPPLE下,表示整个容器的背景色。

        setBarBackgroundColor():
        前面设置BACKGROUND_STYLE_STATIC,表示整个容器的背景色。
        BACKGROUND_STYLE_RIPPLE下,表示选中Item的图标和文本颜色。*/
        navigation_bar_main
                //构造函数里面为选中的图片setInactiveIcon非选中的图片
                .addItem(new BottomNavigationItem(R.drawable.ic_home_black_24dp, "Home").setActiveColorResource(R.color.blue)).setInActiveColor(R.color.white)
                .addItem(new BottomNavigationItem(R.drawable.ic_dashboard_black_24dp, "Books").setActiveColorResource(R.color.orange))
                .initialise();
        //据说设置true为向下滑动隐藏,但是目前我的设置没有反应
        navigation_bar_main.setAutoHideEnabled(true);
        //设置选中第一个添加的按钮
        navigation_bar_main.selectTab(0, false);

    }

值得商榷的一点是navigation_bar_main.setAutoHideEnabled(true);这个方法不知道有毒还是怎么的,这个方法是这只向下滑动隐藏,但是我设置了完全没有反应。大家帮忙看下怎么回事。

其他人的博客是这么说的点击打开链接

bottomNavigationBar.hide();//隐藏
bottomNavigationBar.hide(true);//隐藏是否启动动画,这里并不能自定义动画
bottomNavigationBar.unHide();//显示
bottomNavigationBar.hide(true);//隐藏是否启动动画,这里并不能自定义动画

2.未完待续,继续收集中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值