一. BottomNavgationBar简介
- 鉴于官方BottomNavigationView还不是很完善,在此就先使用大佬们做的第三方库
- 本文讲的是Ashok-Varma的BottomNavigation
- 先看效果:
- 特性:
- 定制丰富的导航栏.
- 遵循Google的底部导航规范
- 每个Tab的模式可以选择,每个Tab可以有自己的颜色.
- 自定义图标
二. 用法
###2.1几个重要的设置方法
-
/*设置背景颜色*/
setBarBackgroundColor()//参数为R.id.color或者RGB颜色值(String形式)
该方法在BackgroundStyle为BottomNavigationBar.BACKGROUND_STYLE_STATIC
的时候才生效
/*设置背景模式*/
setBackgroundStyle()
该方法参数有三种(效果图会配合TabMode一起展示)BottomNavigationBar.BACKGROUND_STYLE_STATIC //静态背景
BottomNavigationBar.BACKGROUND_STYLE_RIPPLE//点击之后会扩散的背景
BottomNavigationBar.BACKGROUND_STYLE_DEFAULT//和RIPPLE好像一样
/*设置Tab点击的模式*/
setMode()
该方法参数也有三种BottomNavigationBar.MODE_FIXED //自适应长度的Tab(Tab会均匀分布在整个长度内),Tab的文字默认显示
BottomNavigationBar.MODE_SHIFTING //点击之后会自己弹出来(Tab的文字默认不显示,点击之后才会显示)
BottomNavigationBar.MODE_DEFAULT //和SHIFTING一样
/*为导航栏添加Tab*/
addItem()
该方法参数为BottomNavigationItem对象
BottomNavigationItem的常用方法有:
/*构造函数(参数为当前Tab的图标和标题)*/
BottomNavigationItem(@DrawableRes int mIconResource, @NonNull String mTitle)
BottomNavigationItem(Drawable mIcon, @NonNull String mTitle)
BottomNavigationItem(Drawable mIcon, @StringRes int mTitleResource)
BottomNavigationItem(@DrawableRes int mIconResource, @StringRes int mTitleResource)
/*设置点击状态的Icon*/
setActiveIcon(Drawable mActiveIcon)(参数为drawable资源)
setActiveIconResource(@DrawableRes int mActiveIconResource) (参数为drawableId)
/*设置点击状态的Color*/
setActiveColor(int color)(参数为colorId)
setActiveColor(@Nullable String colorCode)(参数为String形式的RGB颜色值)
setActiveColorResource(@ColorRes int colorResource)(参数为colorResource)
/*设置未点击状态的Icon*/
setInactiveIcon(Drawable mInactiveIcon)(参数为drawable资源)
setInactiveIconResource(@DrawableRes int mInactiveIconResource) (参数为drawableId)
/*设置未点击状态的Color*/
setInActiveColor(int color)(参数为colorId)
setInActiveColor(@Nullable String colorCode)(参数为String形式的RGB颜色值)
setInActiveColorResource(@ColorRes int colorResource)(参数为colorResource)
setFirstSelectedPosition(0) //设置默认选中的Tab
initialise() //初始化(初始化之后才代表完成设置)