有小伙伴问到我BottomNavigationView底部导航的问题,分享一下,底部导航栏的使用比较常见,目前常用的APP几乎都是使用底部导航栏将内容分类。
这个Android 的底部导航栏 BottomNavigationView由Google官方推荐的,
先来看看案例效果图
打入依赖:
implementation "com.google.android.material:material:1.0.0"
布局:
app:menu :引用菜单布局
代码:
icon的值:(选中和未选中设置的图标)
点击事件之后走的方法
navigation.setonNavigationItemSelectedListener(new BottomNavigationView.onNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull @NotNull MenuItem menuItem) {
if (menuItem.getItemId() == R.id.menu_mail){
viewpager2.setCurrentItem(0);
}else if (menuItem.getItemId() == R.id.menu_bookshelf){
viewpager2.setCurrentItem(1);
}else if (menuItem.getItemId() == R.id.menu_my_config){
viewpager2.setCurrentItem(2);
}
return false;
}
});
默认选中的话字体会变大
效果图:
那么如何让它不变呢? 则需要设置这两个属性
app:itemTextAppearanceActive="@style/bottom_selected_text" app:itemTextAppearanceInactive="@style/bottom_normal_text"
xml
- #222222
- 12sp
- @color/colorPrimaryDark
- 12sp
这样就设置底部的选中和未选中的字体样式了,字体颜色也可以选择相应的来设置了
还有一个属性,选中的tab不要让图标变大
app:labelVisibilityMode="labeled"
看法发现了一个东西,点击的时候背景有一个水波纹动画,如何去除这个动画呢?
app:itemBackground="@null"
这样就ok了
点击响应的方法
navigation.setonNavigationItemSelectedListener(new
BottomNavigationView.onNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull @NotNull
MenuItem menuItem) {
return false;
}
});
完整的布局
下一篇博客说说: BottomNavigationView与ViewPager1+ViewPager2的使用
官方文档:
BottomNavigationView | Android Developers



