BottomNavigationView的使用
1、首先导包
implementation 'com.google.android.material:material:1.0.0'
2、在res文件夹中新建menu目录,新建navigation.xml文件
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/main_tab_jllist" android:title="记录" android:icon="@drawable/gp" /> <item android:id="@+id/main_tab_sys" android:title="设置" android:icon="@drawable/sz" >item> menu>
3、设置按下去的颜色,在color目录下新建main_bottom_navigation.xml文件
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="#dc4b92" android:state_checked="true">item> <item android:color="#bfbfbf" android:state_checked="false">item> selector>
4、在主布局文件中添加控件
<com.google.android.material.bottomnavigation.BottomNavigationView android:layout_width="match_parent" android:layout_height="wrap_content" app:itemIconTint="@color/main_bottom_navigation" app:itemTextColor="@color/main_bottom_navigation" app:menu="@menu/navigation" android:id="@+id/main_bottomnv">com.google.android.material.bottomnavigation.BottomNavigationView>
5、代码中实现
先声明一个变量
int lastfragment=0;
实现切换图片方法
main_bottomnv.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()){ case R.id.main_tab_jllist: if(lastfragment!=0){ switchFragment(0); } break; case R.id.main_tab_sys: if(lastfragment!=1){ switchFragment(1); } break; } item.setChecked(true); return false; } });
private void switchFragment(int i) { lastfragment = i; main_vp.setCurrentItem(i); }
viewpage切换时联动
main_vp.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() { @Override public void onPageSelected(int position) { super.onPageSelected(position); main_bottomnv.getMenu().getItem(position).setChecked(true); } });