不断学习,做更好的自己!💪
视频号CSDN简书欢迎打开微信,关注我的视频号:程序员朵朵点我点我 前言官网:BottomNavigationView
引入 material 包:
implementation 'com.google.android.material:material:1.2.1'
效果图
- 布局
- 颜色选择器 bottom_navigation_item_selector.xml
------------------------------------
#E45242
#222222
- 菜单 main_bottom_navigation.xml
- 逻辑代码 MainActivity.java
public class MainActivity extends BaseActivity {
private HomeFragment mHomeFragment = HomeFragmentFactory.getInstance().getHomeFragment();
private MineFragment mMineFragment = HomeFragmentFactory.getInstance().getMineFragment();
private List mFragments = new ArrayList();
@BindView(R.id.bottomNavigationView)
BottomNavigationView mNavigationView;
@Override
public int getLayoutId() {
return R.layout.activity_main;
}
@Override
public void initView() {
mFragments.add(mHomeFragment);
mFragments.add(mMineFragment);
mNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switchFragment(item.getItemId());
return true;
}
});
switchFragment(R.id.menu_message);
}
/**
* 切换fragment
*
* @param id
* @return
*/
private void switchFragment(int id) {
Fragment fragment = null;
switch (id) {
case R.id.menu_message:
fragment = mFragments.get(0);
break;
case R.id.menu_contacts:
fragment = mFragments.get(1);
break;
default:
break;
}
if (fragment != null) {
getSupportFragmentManager().beginTransaction().replace(R.id.fl_content,fragment).commit();
}
}
}