android:id=\@+id/bottom_navigation\
android:layout_width=\match_parent\
android:layout_height=\wrap_content\
android:background=\?android:attr/windowBackground\
app:menu=\@menu/bottom_menu\ />
- 在Activity中获取BottomNavigationView实例,并设置监听器:
```java
BottomNavigationView bottomNavigation = findViewById(R.id.bottom_navigation);
bottomNavigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
// 根据选项切换页面或执行其他操作
return true;
}
3. 个性化定制:让你的栏独一无二

BottomNavigationView提供了丰富的属性,可以帮助你定制个性化的栏。以下是一些常用的属性:
- `app:menu`:指定菜单资源文件。
- `app:backgroundTint`:设置背景颜色。
- `app:itemIconTint`:设置图标颜色。
- `app:itemTextColor`:设置文字颜色。
- `app:layout_scrollFlags`:设置滚动效果。
通过这些属性,你可以打造出符合自己风格的底部栏。
三、底部栏的“小伙伴”:ViewPager和Fragment
在实现底部栏时,我们通常会用到ViewPager和Fragment。它们就像是一对“小伙伴”,共同打造出丰富的页面切换效果。
1. ViewPager:轻松实现页面滑动
ViewPager是一个可以滑动切换页面的组件。在实现底部栏时,我们可以将ViewPager与BottomNavigationView结合使用,实现页面滑动切换。
以下是一个简单的示例:
```java
ViewPager viewPager = findViewById(R.id.view_pager);
BottomNavigationView bottomNavigation = findViewById(R.id.bottom_navigation);
// 设置适配器
viewPager.setAdapter(new MyPagerAdapter());
// 设置监听器,根据选项切换页面
bottomNavigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
viewPager.setCurrentItem(item.getOrder());
return true;
}
2. Fragment:构建丰富的页面内容
Fragment是Android中用于构建页面的组件。在实现底部栏时,我们可以将Fragment与ViewPager结合使用,构建丰富的页面内容。
以下是一个简单的示例:
```java
public class MyPagerAdapter extends FragmentStateAdapter {
public MyPagerAdapter(FragmentManager fragmentManager) {
super(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
}
@NonNull
@Override
public Fragment createFragment(int position) {