Android之底部菜单 BottomNavigationBar的使用

前言:

    BottomNavigationBar 是Google官方提供的用以实现底部菜单的控件,使用简单,项目里面也一直在用,想想还是记录下来。

一:实现步骤:

1:添加依赖:

compile 'com.ashokvarma.android:bottom-navigation-bar:1.3.0'
 

2:布局:

<com.ashokvarma.bottomnavigation.BottomNavigationBar
    android:id="@+id/bottom_navigation_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    app:bnbAutoHideEnabled="false"
    app:bnbBackgroundColor="@android:color/black"></com.ashokvarma.bottomnavigation.BottomNavigationBar>
 

3:activity中代码:

bottomNavigationBar.setMode(BottomNavigationBar.MODE_FIXED);
bottomNavigationBar
        .setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC
        );

bottomNavigationBar
        .addItem(new BottomNavigationItem(R.mipmap.ic_home, "首页").setActiveColorResource(R.color.car_model_checked))
        .addItem(new BottomNavigationItem(R.mipmap.ic_find, "找车").setActiveColorResource(R.color.car_model_checked))
        .addItem(new BottomNavigationItem(R.mipmap.ic_youhui, "优惠").setActiveColorResource(R.color.car_model_checked))
        .addItem(new BottomNavigationItem(R.mipmap.ic_forum, "论坛").setActiveColorResource(R.color.car_model_checked))
        .addItem(new BottomNavigationItem(R.mipmap.ic_mine, "我的").setActiveColorResource(R.color.car_model_checked))
        .setFirstSelectedPosition(0)
        .initialise();

bottomNavigationBar.setTabSelectedListener(this);

4:当然如果你要做消息通知的话,类似于微信有消息来了会有消息数目通知,不用担心,这点谷歌给你想好了,只需要添加BadgeItem,具体使用如下:

BadgeItem numberBadgeItem = new BadgeItem()
        //.setBorderWidth(2)//通知框的边框大小
        .setBackgroundColor(Color.RED)//通知的背景色
        .setText("5")
        .setHideOnSelect(false);//选中时显示,这个可自动调整

5:当然,不仅仅是上面的这些方法,比如设置字体等等,上面添加一个方法就ok

.addItem(new BottomNavigationItem(R.mipmap.ic_home, "首页").setActiveColorResource(R.color.car_model_checked).setBadgeItem(
numberBadgeItem ))
 

6:关于样式和格式可以自行设置:

bottomNavigationBar.setMode(BottomNavigationBar.MODE_FIXED);
   bottomNavigationBar.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC);

7:需要实现 BottomNavigationBar.OnTabSelectedListener接口,重写三个方法:

@Override
public void onTabSelected(int position) {
   //一般都是联合fragment一起使用,在此调用方法即可
    //setFragment(position);
}

@Override
public void onTabUnselected(int position) {
    setToolbar(position, false);
}

@Override
public void onTabReselected(int position) {

}




private void setFragment(int index) {
    FragmentManager fm = getSupportFragmentManager();
    FragmentTransaction transaction = fm.beginTransaction();

    switch (index) {
        case INDEX_HOME:
            HomeFragment homeFragment = HomeFragment.newInstance();
            transaction.replace(R.id.panel, homeFragment);
            break;
        case INDEX_FIND:
           
            break;
        case INDEX_FORUM:
           
            break;
        case INDEX_COCESSION:
          
            break;
        case INDEX_USER:
          
            break;
    }

    transaction.commitAllowingStateLoss();
}

 

 

------------------------就是这么简单,赶快试试吧,不喜勿喷、

 

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Android Studio中,底部菜单栏通常是使用BottomNavigationView实现的。你可以在XML布局文件中添加BottomNavigationView控件来创建底部菜单栏。以下是一个示例代码: ```xml <com.google.android.material.bottomnavigation.BottomNavigationView android:id="@+id/bottom_navigation" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" app:menu="@menu/bottom_navigation_menu" /> ``` 然后,你需要在res/menu目录下创建一个名为bottom_navigation_menu.xml的菜单文件。这个文件定义了底部菜单栏中的选项,你可以根据自己的需求添加或修改选项。以下是一个示例代码: ```xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menu_item1" android:title="Item 1" android:icon="@drawable/ic_item1" /> <item android:id="@+id/menu_item2" android:title="Item 2" android:icon="@drawable/ic_item2" /> <item android:id="@+id/menu_item3" android:title="Item 3" android:icon="@drawable/ic_item3" /> </menu> ``` 在Java代码中,你需要为底部菜单栏的每个选项设置相应的操作。可以使用BottomNavigationView的setOnNavigationItemSelectedListener方法来监听选项的点击事件,并执行相应的操作。以下是一个示例代码: ```java BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation); bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { switch (menuItem.getItemId()) { case R.id.menu_item1: // 处理 Item 1 的点击事件 return true; case R.id.menu_item2: // 处理 Item 2 的点击事件 return true; case R.id.menu_item3: // 处理 Item 3 的点击事件 return true; default: return false; } } }); ``` 这样,你就可以在Android Studio中创建和使用底部菜单栏了。注意,上述代码只是示例,你需要根据你的实际需求进行修改和适配。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶已初秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值