protected override void OnElementChanged(ElementChangedEventArgs <HomePage> e) { base.OnElementChanged(e); if (e.NewElement != null) { HomePage bottomBarPage = e.NewElement; if (_bottomBar == null) { _pageController = PageController.Create(bottomBarPage); _frameLayout = new FrameLayout(MainActivity.ApplicationContext) { LayoutParameters = new FrameLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent, GravityFlags.Fill) }; AddView(_frameLayout, 0); _bottomBar = BottomNavigationBar.BottomBar.Attach(_frameLayout, null); _bottomBar.NoTopOffset(); _bottomBar.NoTabletGoodness(); if (bottomBarPage.FixedMode) { _bottomBar.UseFixedMode(); } switch (bottomBarPage.BarTheme) { case BarThemeTypes.Light: break; case BarThemeTypes.DarkWithAlpha: _bottomBar.UseDarkThemeWithAlpha(true); break; case BarThemeTypes.DarkWithoutAlpha: _bottomBar.UseDarkThemeWithAlpha(false); break; default: throw new ArgumentOutOfRangeException(); } _bottomBar.LayoutParameters = new LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent); _bottomBar.SetOnTabClickListener(this); UpdateTabs(); UpdateBarBackgroundColor(); UpdateBarTextColor(); } if (bottomBarPage.CurrentPage != null) { SwitchContent(bottomBarPage.CurrentPage); } } }
protected override void OnElementChanged(ElementChangedEventArgs <BottomTabbedPage> e) { base.OnElementChanged(e); if (e.NewElement != null) { BottomTabbedPage bottomBarPage = e.NewElement; if (_bottomBar == null) { _pageController = PageController.Create(bottomBarPage); _rootLayout = new LinearLayout(Context) { LayoutParameters = new LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent) }; AddView(_rootLayout); // create a view which will act as container for Page's _frameLayout = new FrameLayout(Context) { LayoutParameters = new LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent) }; _rootLayout.AddView(_frameLayout); _bottomBar = new BottomNavigationViewEx(Context) { LayoutParameters = new LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent) }; _rootLayout.AddView(_bottomBar); _bottomBar.SetOnNavigationItemSelectedListener(this); if (BackgroundColor.HasValue) { _bottomBar.SetBackgroundColor(BackgroundColor.Value); } if (ItemIconTintList != null) { _bottomBar.ItemIconTintList = ItemIconTintList; } if (ItemTextColor != null) { _bottomBar.ItemTextColor = ItemTextColor; } if (ItemBackgroundResource.HasValue) { _bottomBar.ItemBackgroundResource = ItemBackgroundResource.Value; } // Resource.Drawable.bnv_selector _menu = (BottomNavigationMenu)_bottomBar.Menu; UpdateTabs(); } if (bottomBarPage.CurrentPage != null) { SwitchContent(bottomBarPage.CurrentPage); } } }