答案 0 :(得分:2)
答案 1 :(得分:0)
我做了很多试验和错误,现在我意识到更好的选择是使用第三方库作为底栏。其中一个更好的解决方案是roughike有很多可用的自定义
答案 2 :(得分:0)
所有您需要做的就是在dimens.xml文件中覆盖 design_bottom_navigation_active_text_size 的尺寸。
<dimen name="design_bottom_navigation_active_text_size" tools:override = "true" >12sp</dimen>
以下12sp是无效底部导航项的默认文本大小。也为活动底部导航项设置相同的内容。您将没有缩放效果。
答案 3 :(得分:0)
public static class BottomNavigationViewHelper {
@SuppressLint("RestrictedApi")
public static void disableShiftMode(BottomNavigationView view) {
BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0);
try {
Field shiftingMode = menuView.getClass().getDeclaredField("mShiftingMode");
shiftingMode.setAccessible(true);
shiftingMode.setBoolean(menuView, false);
shiftingMode.setAccessible(false);
for (int i = 0; i < menuView.getChildCount(); i++) {
BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i);
//noinspection RestrictedApi
item.setShifting(false);
// set once again checked value, so view will be updated
//noinspection RestrictedApi
item.setChecked(item.getItemData().isChecked());
}
} catch (NoSuchFieldException e) {
Log.e("BNVHelper", "Unable to get shift mode field", e);
} catch (IllegalAccessException e) {
Log.e("BNVHelper", "Unable to change value of shift mode", e);
}
}
}
@Override
protected void onStop() {
super.onStop();
}
}
在此之后
BottomNavigationViewHelper.disableShiftMode(bottomNavigationView);
我已经尝试过了,并且有效