Android用BottomNavigationBar实现底部导航栏

step1.:

implementation 'com.ashokvarma.android:bottom-navigation-bar:2.0.4'

 

step2 :布局文件中使用

<com.ashokvarma.bottomnavigation.BottomNavigationBar android:id="@+id/bottom_navigation_bar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:layout_alignParentBottom="true"/>

 

step3 :在activity中使用,先实例化控件

mBottomNavigationBar= (BottomNavigationBar)findViewById(R.id.bottom_navigation_bar);

 

step4 :

mBottomNavigationBar.addItem(new BottomNavigationItem(R.drawable.ic_home_index, "首页"))

.addItem(new BottomNavigationItem(R.drawable.ic_home_order, "订单"))

.addItem(new BottomNavigationItem(R.drawable.ic_home_mine, "我的"))

.setFirstSelectedPosition(0) //设置默认选择按钮

.initialise(); //所有的设置需在调用该方法前完成

 

step5 : 实现点击事件

mBottomNavigationBar //设置lab点击事件

mBottomNavigationBar.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener() {
   @Override 
   public void onTabSelected(int position) {

    if (index == 2) {
      startActivity(new Intent(MainActivity.this, ChatActivity.class)); return; }
    }

    @Override
    public void onTabUnselected(int position) {}

    @Override
    public void onTabReselected(int position) {}

});

 

增强:

setModel和setBackgroundStyle

Mode和BackgroundStyle分别有三种,分别包含一种Default模式:

  1. Mode包含3种Mode:
    • MODE_DEFAULT

如果Item的个数<=3就会使用MODE_FIXED模式,否则使用MODE_SHIFTING模式

    • MODE_FIXED

填充模式,未选中的Item会显示文字,没有换挡动画。

    • MODE_SHIFTING

换挡模式,未选中的Item不会显示文字,选中的会显示文字。在切换的时候会有一个像换挡的动画

  1. Background Style包含3种Style:
    • BACKGROUND_STYLE_DEFAULT

如果设置的Mode为MODE_FIXED,将使用BACKGROUND_STYLE_STATIC 。如果Mode为MODE_SHIFTING将使用BACKGROUND_STYLE_RIPPLE。

    • BACKGROUND_STYLE_STATIC

点击的时候没有水波纹效果

    • BACKGROUND_STYLE_RIPPLE

点击的时候有水波纹效果

转载于:https://www.cnblogs.com/vvning/p/9412750.html

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐