BottomNavigationBar配置使用
以前开发Android 都是 用RadioGroup+ Viewpager 实现底部选项卡选择滑动,但自从google推出了自己的底部导航栏之后 自我感觉用的不错 记录一下 方便日后查阅
官网地址
https://github.com/Ashok-Varma/BottomNavigation
配置Gradle
compile 'com.ashokvarma.android:bottom-navigation-bar:2.0.3'
配置好之后xml 文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.chiigu.bottomnavigationbarsamples.MainActivity">
<com.ashokvarma.bottomnavigation.BottomNavigationBar
android:id="@+id/bottom_navigation_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorAccent"
android:layout_alignParentBottom="true" />
</RelativeLayout>
MainActivity 代码
bottomNavigationBar= (BottomNavigationBar) findViewById(R.id.bottom_navigation_bar);
//设置 Badge 气泡
BadgeItem badge=new BadgeItem()
.setBorderWidth(2)//Badge的Border(边界)宽度
.setBorderColor("#FF0000")//Badge的Border颜色
.setBackgroundColor("#9ACD32")//Badge背景颜色
.setGravity(Gravity.RIGHT| Gravity.TOP)//位置,默认右上角
.setText("99+")//字体
.setTextColor("#F0F8FF")//字体颜色
.setAnimationDuration(2000)
.setHideOnSelect(true)
bottomNavigationBar.setMode(BottomNavigationBar.MODE_FIXED);
bottomNavigationBar.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_RIPPLE);
bottomNavigationBar.addItem(new BottomNavigationItem(R.mipmap.home_selector, "home").setInactiveIcon(ContextCompat.getDrawable(this, R.mipmap.home_normal)).setBadgeItem(badge))
.addItem(new BottomNavigationItem(R.mipmap.home_selector, "home").setInactiveIcon(ContextCompat.getDrawable(this, R.mipmap.home_normal)))
.addItem(new BottomNavigationItem(R.mipmap.home_selector, "home").setInactiveIcon(ContextCompat.getDrawable(this, R.mipmap.home_normal)))
.addItem(new BottomNavigationItem(R.mipmap.home_selector, "home").setInactiveIcon(ContextCompat.getDrawable(this, R.mipmap.home_normal)))
.addItem(new BottomNavigationItem(R.mipmap.home_selector, "home").setInactiveIcon(ContextCompat.getDrawable(this, R.mipmap.home_normal)))
.setActiveColor(R.color.white).setBarBackgroundColor(R.color.blue).setInActiveColor(R.color.colorPrimaryDark).setFirstSelectedPosition(0)
.initialise();//初始化BottomNavigationButton,所有设置需在调用该方法前完成
部分相关属性作用
事件监听
bottomNavigationBar.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener() {
@Override
public void onTabSelected(int position) {
}
@Override
public void onTabUnselected(int position) {
}
@Override
public void onTabReselected(int position) {
}
});
//显示和隐藏-----------------------------
bottomNavigationBar.hide()
bottomNavigationBar.unHide()
效果图: