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

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);这个方法不知道有毒还是怎么的,这个方法是这只向下滑动隐藏,但是我设置了完全没有反应。大家帮忙看下怎么回事。

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

扫描二维码关注公众号,回复: 3373539 查看本文章
bottomNavigationBar.hide();//隐藏
bottomNavigationBar.hide(true);//隐藏是否启动动画,这里并不能自定义动画
bottomNavigationBar.unHide();//显示
bottomNavigationBar.hide(true);//隐藏是否启动动画,这里并不能自定义动画

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

猜你喜欢

转载自blog.csdn.net/ma598214297/article/details/79619082