首先回顾下这个导航栏,发现已经满足不了我们的需求了,我们现在来使用一下其他的开源组件。
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.未完待续,继续收集中。