//先看效果图:
//第一步 导入第三方依赖:
implementation 'com.ashokvarma.android:bottom-navigation-bar:1.4.1'//底部导航栏
//第二步 布局:
<com.ashokvarma.bottomnavigation.BottomNavigationBar
android:layout_alignParentBottom="true"
android:id="@+id/mButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"></com.ashokvarma.bottomnavigation.BottomNavigationBar>
//第三步 在Activity初始化使用:
public class MainActivity extends AppCompatActivity {
private BottomNavigationBar mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
mButton = (BottomNavigationBar) findViewById(R.id.mButton);
BadgeItem badgeItem = new BadgeItem().setBackgroundColor(Color.RED).setText("99");//初始化BadgeItem标记,一般用作消息提醒的,设置颜色,设置内容
//BadgeItem badge=new BadgeItem()
// .setBorderWidth(2)//Badge的Border(边界)宽度
// .setBorderColor("#FF0000")//Badge的Border颜色
// .setBackgroundColor("#9ACD32")//Badge背景颜色
// .setGravity(Gravity.RIGHT| Gravity.TOP)//位置,默认右上角
// .setText("2")//显示的文本
// .setTextColor("#F0F8FF")//文本颜色
// .setAnimationDuration(2000)
// .setHideOnSelect(true)//当选中状态时消失,非选中状态显示
//设置模式为固定模式,不会动,没有水波纹,填充模式,未选中的Item会显示文字,没有换挡动画。
//mButton.setMode(BottomNavigationBar.MODE_FIXED);
//如果设置的Mode为MODE_FIXED,使用BACKGROUND_STYLE_STATIC 。
//mButton.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC);
//BACKGROUND_STYLE_STATIC,点击的时候没有水波纹效果,航条的背景色是白色,加上setBarBackgroundColor()可以设置成你所需要的任何背景颜色
//换挡模式,未选中的Item不会显示文字,选中的会显示文字,在切换的时候会有一个像换挡的动画。
//mButton.setMode(BottomNavigationBar.MODE_SHIFTING);
//如果Mode为MODE_SHIFTING将使用BACKGROUND_STYLE_RIPPLE。
//mButton.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_RIPPLE);
//BACKGROUND_STYLE_RIPPLE,点击的时候有水波纹效果,导航条的背景色是你设置的处于选中状态的 Item的颜色(ActiveColor),也就是setActiveColorResource这个设置的颜色
//---设置Item未选中颜色方法两种---
// 1.new BottomNavigationItem().setInActiveColorResource(R.color.white))
//2.new BottomNavigationItem().setInActiveColor()
//---设置Item选中颜色方法两种---
//1.new BottomNavigationItem().setActiveColorResource()
//2.new BottomNavigationItem().setActiveColor()
//mButton.setBarBackgroundColor(R.color.colorAccent);//设置栏背景颜色
mButton
.setActiveColor("#ff0000") //设置选中的颜色,红色,好像不管用
.setInActiveColor("#FFFFFF")//设置未选中的颜色,白色
.setBarBackgroundColor("#000000");//设置栏背景颜色为黑色,这个可以代替设置选中的颜色。
mButton.addItem(new BottomNavigationItem(R.mipmap.home_setting_press, "淡绿色").setActiveColor("#bedeba"))
.addItem(new BottomNavigationItem(R.mipmap.home_setting_press, "淡粉色").setActiveColor("#efd2d2"))
.addItem(new BottomNavigationItem(R.mipmap.home_setting_press, "淡蓝色").setActiveColor("#b0cede").setBadgeItem(badgeItem))//为Item添加Badge标记
.addItem(new BottomNavigationItem(R.mipmap.home_setting_press, "淡黄色").setActiveColor("#d2cca1"))
.setFirstSelectedPosition(0)//设置优先选择位置,也就是默认一进来选中哪个
.initialise(); //所有的设置需在调用该方法前完成
mButton.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener() {//这里也可以使用SimpleOnTabSelectedListener
@Override
public void onTabSelected(int position) {
//未选中 -> 选中
Toast.makeText(MainActivity.this, position + "未选中 -> 选中", Toast.LENGTH_SHORT).show();
}
@Override
public void onTabUnselected(int position) {
//选中 -> 未选中
}
@Override
public void onTabReselected(int position) {
//选中 -> 选中
}
});
}
}
//———————————————————————–完——————————————————————————
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/118302.html