目录
1.项目场景:
使用BottomNavigation底部导航进行Android业务开发。
2.问题描述:
item.setShiftingMode(false);过期不能使用
3.原因分析:
Android——API28+,BottomNavigationView废弃setShiftingMode()
4.解决方案:
(1)xml中:添加app:labelVisibilityMode="labeled"
<!--底部导航,配合视图工具共同作用-->
<com.google.android.material.bottomnavigation.BottomNavigationView
...
...
...
...
...
...
app:labelVisibilityMode="labeled"/>
(2)java代码:调用removeNavigationShiftMode(BottomNavigationView 实例)
//调用BottomNavigationView帮助类,定义静态方法removeNavigationShiftMode
@SuppressLint("RestrictedApi")
public static void removeNavigationShiftMode(BottomNavigationView view) {
BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0);
menuView.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED);
menuView.buildMenuView();
}
//调用
类名.removeNavigationShiftMode(bottom_navigation_main);
(3)java代码:BottomNavigationView 实例,直接设置
bottom_navigation_main.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED);
5.总结
仅自己学习记录,如有错误,敬请谅解~,谢谢~~~