public void DisableShiftMode(BottomNavigationView v) { var menu = (BottomNavigationMenuView)((ViewGroup)v).GetChildAt(0); var shiftingMode = menu.Class.GetDeclaredField("mShiftingMode"); shiftingMode.Accessible = true; shiftingMode.SetBoolean(menu, false); shiftingMode.Accessible = false; for (int i = 0; i < menu.ChildCount; i++) { BottomNavigationItemView item = (BottomNavigationItemView)menu.GetChildAt(i); item.SetShiftingMode(false); item.SetChecked(item.ItemData.IsChecked); //TextView var content = (BaselineLayout)item.GetChildAt(1); content.LayoutParameters = new Android.Widget.FrameLayout.LayoutParams(Android.Widget.FrameLayout.LayoutParams.MatchParent, Android.Widget.FrameLayout.LayoutParams.MatchParent); for (int j = 0; j < content.ChildCount; j++) { var tv = (AppCompatTextView)content.GetChildAt(j); tv.LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent); tv.SetTextSize(Android.Util.ComplexUnitType.Px, tv.TextSize * 1.2f); tv.TextAlignment = Android.Views.TextAlignment.Center; tv.Gravity = GravityFlags.Center; tv.Typeface = Android.Graphics.Typeface.DefaultBold; } item.RemoveView(item.GetChildAt(0)); } menu.UpdateMenuView(); }
void SetTabItemTextColor(BottomNavigationItemView bottomNavigationItemView, Android.Graphics.Color textColor) { var itemTitle = bottomNavigationItemView.GetChildAt(1); var smallTextView = ((TextView)((BaselineLayout)itemTitle).GetChildAt(0)); var largeTextView = ((TextView)((BaselineLayout)itemTitle).GetChildAt(1)); smallTextView.SetTextColor(textColor); largeTextView.SetTextColor(textColor); }