public bool OnNavigationItemSelected(IMenuItem item) { if (Element == null || IsDisposed) { return(false); } var id = item.ItemId; if (id == BottomNavigationViewUtils.MoreTabId) { var items = CreateTabList(); var bottomSheetDialog = BottomNavigationViewUtils.CreateMoreBottomSheet(OnMoreItemSelected, Element.FindMauiContext(), items, _bottomNavigationView.MaxItemCount); bottomSheetDialog.DismissEvent += OnMoreSheetDismissed; bottomSheetDialog.Show(); } else { if (_bottomNavigationView.SelectedItemId != item.ItemId && Element.Children.Count > item.ItemId) { Element.CurrentPage = Element.Children[item.ItemId]; } } return(true); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.layout_bottomnavigation); mToolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); if (null != mToolbar) { SetSupportActionBar(mToolbar); SupportActionBar.SetDisplayHomeAsUpEnabled(false); SupportActionBar.SetHomeButtonEnabled(false); } mBottomNav = FindViewById <BottomNavigationView>(Resource.Id.bottom_navigation); mBottomNav.NavigationItemSelected += OnNavigationItemSelected; BottomNavigationViewUtils.SetShiftMode(mBottomNav, false, false); mViewPager = FindViewById <ViewPager>(Resource.Id.viewpager); var adapter = new ViewPagerAdapter(this.SupportFragmentManager); var random = new Random(); adapter.AddFragment(new BottomNavFragment(random.Next(10, 20))); adapter.AddFragment(new BottomNavFragment(random.Next(10, 30))); adapter.AddFragment(new BottomNavFragment(random.Next(10, 40))); adapter.AddFragment(new BottomNavFragment(random.Next(10, 50))); mViewPager.Adapter = adapter; mViewPager.PageSelected += OnViewPagerChanged; mBottomNav.SelectedItemId = Resource.Id.one; mToolbar.Title = GetText(Resource.String.one); mViewPager.CurrentItem = 0; }
bool NavigationBarView.IOnItemSelectedListener.OnNavigationItemSelected(IMenuItem item) { if (_tabbedPageManager.Element == null) { return(false); } var id = item.ItemId; if (id == BottomNavigationViewUtils.MoreTabId) { var items = _tabbedPageManager.CreateTabList(); var bottomSheetDialog = BottomNavigationViewUtils.CreateMoreBottomSheet(_tabbedPageManager.OnMoreItemSelected, _tabbedPageManager.Element.FindMauiContext(), items, _tabbedPageManager._bottomNavigationView.MaxItemCount); bottomSheetDialog.DismissEvent += _tabbedPageManager.OnMoreSheetDismissed; bottomSheetDialog.Show(); } else { if (_tabbedPageManager._bottomNavigationView.SelectedItemId != item.ItemId && _tabbedPageManager.Element.Children.Count > item.ItemId) { _tabbedPageManager.Element.CurrentPage = _tabbedPageManager.Element.Children[item.ItemId]; } } return(true); }
protected virtual bool OnItemSelected(IMenuItem item) { var id = item.ItemId; if (id == MoreTabId) { var items = CreateTabList(ShellItem); _bottomSheetDialog = BottomNavigationViewUtils.CreateMoreBottomSheet(OnMoreItemSelected, MauiContext, items, _bottomView.MaxItemCount); _bottomSheetDialog.Show(); _bottomSheetDialog.DismissEvent += OnMoreSheetDismissed; } else { var shellSection = ((IShellItemController)ShellItem).GetItems()[id]; if (item.IsChecked) { OnTabReselected(shellSection); } else { return(ChangeSection(shellSection)); } } return(true); }
protected override void OnAttached() { if (!(Container.GetChildAt(0) is ViewGroup layout)) { return; } if (!(layout.GetChildAt(1) is BottomNavigationView bottomNavigationView)) { return; } // This is what we set to adjust if the shifting happens BottomNavigationViewUtils.SetShiftMode(bottomNavigationView, false, false); }
void SetupBottomNavigationView(NotifyCollectionChangedEventArgs e) { var currentIndex = Element.Children.IndexOf(Element.CurrentPage); var items = CreateTabList(); BottomNavigationViewUtils.SetupMenu( _bottomNavigationView.Menu, _bottomNavigationView.MaxItemCount, items, currentIndex, _bottomNavigationView, Element.FindMauiContext()); if (Element.CurrentPage == null && Element.Children.Count > 0) { Element.CurrentPage = Element.Children[0]; } }
protected virtual void SetupMenu(IMenu menu, int maxBottomItems, ShellItem shellItem) { if (DisplayedPage == null) { return; } if (ShellItemController.ShowTabs) { _menuSetup = true; var currentIndex = ((IShellItemController)ShellItem).GetItems().IndexOf(ShellSection); var items = CreateTabList(shellItem); BottomNavigationViewUtils.SetupMenu( menu, maxBottomItems, items, currentIndex, _bottomView, MauiContext); } UpdateTabBarVisibility(); }
protected virtual Drawable CreateItemBackgroundDrawable() { return(BottomNavigationViewUtils.CreateItemBackgroundDrawable()); }