public static void activateNewButton(BottomNavigationView bottomNavigationView, int position) {
   BottomNavigationMenuView bottomNavigationMenuView =
       (BottomNavigationMenuView) bottomNavigationView.getChildAt(0);
   try {
     Method activateNewButtonMethod =
         bottomNavigationMenuView.getClass().getDeclaredMethod("activateNewButton", int.class);
     activateNewButtonMethod.setAccessible(true);
     activateNewButtonMethod.invoke(bottomNavigationMenuView, position);
   } catch (Exception e) {
     e.printStackTrace();
   }
 }
  /**
   * 取消大于三项时占用其他 item 的空间
   *
   * @param bottomNavigationView
   */
  public static void disableShiftMode(BottomNavigationView bottomNavigationView) {
    BottomNavigationMenuView bottomNavigationMenuView =
        (BottomNavigationMenuView) bottomNavigationView.getChildAt(0);
    try {
      Field shiftingModeField =
          bottomNavigationMenuView.getClass().getDeclaredField("mShiftingMode");
      shiftingModeField.setAccessible(true);
      shiftingModeField.setBoolean(bottomNavigationMenuView, false);
      shiftingModeField.setAccessible(false);

      for (int i = 0; i < bottomNavigationMenuView.getChildCount(); i++) {
        BottomNavigationItemView bottomNavigationItemView =
            (BottomNavigationItemView) bottomNavigationMenuView.getChildAt(i);
        bottomNavigationItemView.setShiftingMode(false);
        bottomNavigationItemView.setChecked(bottomNavigationItemView.getItemData().isChecked());
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }