public static DroppyMenuPopup BuildForAnimeDetailsPage(Context context, View parent, AnimeDetailsPageViewModel viewModel) { AnimeListPageFlyoutBuilder.ParamRelativeLayout = new ViewGroup.LayoutParams(DimensionsHelper.DpToPx(150), DimensionsHelper.DpToPx(38)); var droppyBuilder = new DroppyMenuPopup.Builder(context, parent); AnimeListPageFlyoutBuilder.InjectAnimation(droppyBuilder); Action <int> listener = i => { switch (i) { case 0: viewModel.NavigateForumBoardCommand.Execute(null); break; case 1: AnimeDetailsPageDialogBuilder.BuildPromotionalVideoDialog(viewModel); break; case 2: AnimeUpdateDialogBuilder.BuildTagDialog(viewModel); break; case 3: viewModel.CopyToClipboardCommand.Execute(null); break; case 4: viewModel.OpenInMalCommand.Execute(null); break; case 5: viewModel.RemoveAnimeCommand.Execute(null); break; } }; droppyBuilder.AddMenuItem(new DroppyMenuCustomItem(AnimeListPageFlyoutBuilder.BuildItem(context, "Forum board", listener, 0))); droppyBuilder.AddMenuItem(new DroppyMenuCustomItem(AnimeListPageFlyoutBuilder.BuildItem(context, "Promotional videos", listener, 1))); droppyBuilder.AddMenuItem(new DroppyMenuCustomItem(AnimeListPageFlyoutBuilder.BuildItem(context, "Tags", listener, 2))); droppyBuilder.AddMenuItem(new DroppyMenuCustomItem(AnimeListPageFlyoutBuilder.BuildItem(context, "Copy link", listener, 3))); droppyBuilder.AddMenuItem(new DroppyMenuCustomItem(AnimeListPageFlyoutBuilder.BuildItem(context, "Open in browser", listener, 4))); droppyBuilder.AddMenuItem(new DroppyMenuCustomItem(AnimeListPageFlyoutBuilder.BuildItem(context, "Remove from my list", listener, 5))); return(droppyBuilder.Build()); }
private void OnMoreFlyoutClick(int i) { switch (i) { case 0: ViewModel.NavigateForumBoardCommand.Execute(null); break; case 1: AnimeDetailsPageDialogBuilder.BuildPromotionalVideoDialog(ViewModel); break; case 2: AnimeUpdateDialogBuilder.BuildTagDialog(ViewModel); break; case 3: ViewModel.CopyToClipboardCommand.Execute(null); break; case 4: ViewModel.OpenInMalCommand.Execute(null); break; case 5: ViewModel.RemoveAnimeCommand.Execute(null); break; case 6: ViewModel.IsRewatching = !ViewModel.IsRewatching; break; case 7: ViewModel.CopyTitleToClipboardCommand.Execute(null); break; case 8: ViewModel.ToggleAirNotificationsCommand.Execute(null); break; } _menu?.Dismiss(true); _menu = null; }