private void InitDrawer() { Messenger.Default.Register <PageTitleMessage>(this, OnNewPageTitle); Messenger.Default.Register <ToolbarRequestMessage>(this, OnNewToolbarRequest); NavigationRecyclerView.SetAdapter( new RecyclerViewAdapterBuilder <HamburgerMenuEntryViewModel, HamburgerEntryHolder>() .WithContentStretching() .WithItems(ViewModel.HamburgerItems) .WithResourceId(LayoutInflater, Resource.Layout.nav_item) .WithDataTemplate(HamburgerItemDataTemplate) .WithHolderTemplate((parent, type, view) => new HamburgerEntryHolder(view, this)) .Build()); var divider = new DividerItemDecoration(this, DividerItemDecoration.Vertical); divider.SetDrawable(Resources.GetDrawable(Resource.Drawable.separator_transparent, Theme)); NavigationRecyclerView.AddItemDecoration(divider); NavigationRecyclerView.SetLayoutManager(new LinearLayoutManager(this)); SetUpHamburgerButton(); Toolbar.MenuItemClick += ToolbarOnMenuItemClick; Bindings.Add(this.SetBinding(() => ViewModel.IsDrawerEnabled).WhenSourceChanges(() => { if (ViewModel.IsDrawerEnabled) { DrawerLayout.SetDrawerLockMode(global::Android.Support.V4.Widget.DrawerLayout.LockModeUndefined); DrawerLayout.AddDrawerListener(_hamburgerToggle); _hamburgerToggle.SyncState(); _hamburgerButtonAdded = true; } else { DrawerLayout.SetDrawerLockMode(global::Android.Support.V4.Widget.DrawerLayout.LockModeLockedClosed); if (_hamburgerButtonAdded) { DrawerLayout.RemoveDrawerListener(_hamburgerToggle); } } })); //Don't use object initializer _settingsButtonHolder = new HamburgerEntryHolder(SettingsNavButton, this); _settingsButtonHolder.ViewModel = ViewModel.SettingsButtonViewModel; }
private void HamburgerItemDataTemplate(HamburgerMenuEntryViewModel item, HamburgerEntryHolder holder, int position) { }