<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 设置首页选项的id,icon(图标),title(选项标题)-->
<item
android:id="@+id/item_bottomnav_home"
android:icon="@drawable/ic_main_home_black_256"
android:title="@string/home" />
<!-- 设置消息选项的id,icon(图标),title(选项标题)-->
<item
android:id="@+id/item_bottomnav_message"
android:icon="@drawable/ic_main_message_black_256"
android:title="@string/message" />
<!-- 设置通讯录选项的id,icon(图标),title(选项标题)-->
<item
android:id="@+id/item_bottomnav_addressbook"
android:icon="@drawable/ic_main_addressbook_black_256"
android:title="@string/addressbook" />
<!-- 设置个人中心选项的id,icon(图标),title(选项标题)-->
<item
android:id="@+id/item_bottomnav_personalCenter"
android:icon="@drawable/ic_main_personalcenter_black_256"
android:title="@string/mine" />
</menu>
其中src/main/res/values/strings.xml,src/main/res/drawable中的内容需要自己添加
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigationView_main"
android:layout_width="match_parent"
android:layout_height="@dimen/bottomNav_height_56"
app:menu="@menu/menu_bottom_nav">
其中src/main/res/values/dimens.xml中的内容需要自己添加
1.2.1 新建selector文件selector_bottomnav.xml(src/main/res/drawable/selector_bottomnav.xml)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/viewSelected" android:state_checked="true" />
<item android:color="@color/grey_600" android:state_checked="false" />
</selector>
其中src/main/res/values/colors.xml中的内容需要自己添加
1.2.2 在BottomNavigationView中引用selector_bottomnav.xml
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigationView_main"
android:layout_width="match_parent"
android:layout_height="@dimen/bottomNav_height_56"
app:menu="@menu/menu_bottom_nav"
app:itemIconTint="@drawable/selector_bottomnav"
app:itemTextColor="@drawable/selector_bottomnav">
// 为bottomNavigationViewMain设置监听事件setOnNavigationItemSelectedListener,onNavigationItemSelected,用于改变viewPager2Main的CurrentItem
binding.bottomNavigationViewMain.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@SuppressLint("NonConstantResourceId")
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.item_bottomnav_home:
// 点击底部导航home选项的响应事件
binding.viewPager2Main.setCurrentItem(0);//本语句可替换为您自己的响应事件
return true;
case R.id.item_bottomnav_message:
// 点击底部导航message选项的响应事件
binding.viewPager2Main.setCurrentItem(1);//本语句可替换为您自己的响应事件
return true;
case R.id.item_bottomnav_addressbook:
// 点击底部导航addressbook选项的响应事件
binding.viewPager2Main.setCurrentItem(2);//本语句可替换为您自己的响应事件
return true;
case R.id.item_bottomnav_personalCenter:
// 点击底部导航personalCenter选项的响应事件
binding.viewPager2Main.setCurrentItem(3);//本语句可替换为您自己的响应事件
return true;
default:
break;
}
return false;
}
});
本段代码中使用了视图绑定(binding)的功能,如想了解相关内容,请转至:
https://blog.csdn.net/weixin_44193930/article/details/121979673
https://developer.android.google.cn/guide/navigation/navigation-ui
本文档为博主自主学习Android应用开发过程中的经验总结与心得体会,希望能在读者的学习道路上帮上一点点小忙,共同学习,共同成长。
欢迎读者评论留言,点赞,收藏,分享!