- 首先,你要导入依赖compile 'com.ashokvarma.android:bottom-navigation-bar:1.3.0'
布局:
<LinearLayout android:id="@+id/activity_main" 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" android:orientation="vertical" tools:context=".MainActivity"> <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"/> <com.ashokvarma.bottomnavigation.BottomNavigationBar android:id="@+id/bottom_navigation_bar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom"/> </LinearLayout>主代码:
public class MainActivity extends AppCompatActivity{ private List<Fragment> list=new ArrayList<>(); private BottomNavigationBar mBottomNavigationBar; private ViewPager vp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); list.add(new fragment1()); list.add(new fragment2()); list.add(new fragment3()); list.add(new fragment4()); vp = (ViewPager) findViewById(R.id.vp); mBottomNavigationBar = (BottomNavigationBar) findViewById(R.id.bottom_navigation_bar); setBottomNavigationBar(); vp.setAdapter(new Myadapter(getSupportFragmentManager(),list,this)); vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { mBottomNavigationBar.selectTab(position); } @Override public void onPageScrollStateChanged(int state) { } }); } private void setBottomNavigationBar() { mBottomNavigationBar.setMode(BottomNavigationBar.MODE_FIXED); mBottomNavigationBar.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC); mBottomNavigationBar.setBarBackgroundColor(android.R.color.white); BadgeItem badgeItem = new BadgeItem() .setBackgroundColor(Color.RED).setText("99")//设置角标内容 .setHideOnSelect(true); //设置被选中时隐藏角标 mBottomNavigationBar .setActiveColor(R.color.colorAccent) //设置选中的颜色 .setInActiveColor(R.color.colorPrimary);//未选中颜色 mBottomNavigationBar.addItem(new BottomNavigationItem(R.mipmap.ic_nav_cart, "首页"))//添加图标和文字 .addItem(new BottomNavigationItem(R.mipmap.ic_nav_class, "店铺")) .addItem(new BottomNavigationItem(R.mipmap.ic_nav_home, "购物车")) .addItem(new BottomNavigationItem(R.mipmap.ic_nav_user, "我的") .setBadgeItem(badgeItem)) .initialise(); //设置点击事件 mBottomNavigationBar.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener(){ @Override public void onTabSelected(int position) { vp.setCurrentItem(position); } @Override public void onTabUnselected(int position) { } @Override public void onTabReselected(int position) { } }); } }