public static void EnableShiftMode(this BottomNavigationView navView, bool enable) { try { var menuView = navView.GetMenuView(); var shiftMode = menuView.Class.GetDeclaredField("mShiftingMode"); shiftMode.Accessible = true; shiftMode.SetBoolean(menuView, enable); shiftMode.Accessible = false; shiftMode.Dispose(); } catch (Java.Lang.Exception e) { Log.Error(TAG, e.Message, e); } }
public static void EnableMenuItemShiftMode(this BottomNavigationView navView, bool enable) { try { var menuView = navView.GetMenuView(); for (int i = 0; i < menuView.ChildCount; i++) { if (!(menuView.GetChildAt(i) is BottomNavigationItemView item)) { continue; } item.SetShiftingMode(enable); item.SetChecked(item.ItemData.IsChecked); } menuView.UpdateMenuView(); } catch (Java.Lang.Exception e) { Log.Error(TAG, e.Message, e); } }