コード例 #1
0
 protected override void Init(Bundle savedInstanceState)
 {
     ViewModel = ViewModelLocator.AnimeDetails;
     ViewModel.RegisterOneTimeOnPropertyChangedAction(nameof(ViewModel.AnimeMode), SetupForAnimeMode);
     ViewModel.PropertyChanged += ViewModelOnPropertyChanged;
     ViewModel.Init(_navArgs);
 }
コード例 #2
0
        public static DroppyMenuPopup BuildForAnimeDetailsPage(Context context,View parent,AnimeDetailsPageViewModel viewModel)
        {
            AnimeListPageFlyoutBuilder.ParamRelativeLayout = new ViewGroup.LayoutParams(300, 75);

            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:
                        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();
        }
コード例 #3
0
 private AnimeDetailsPageGeneralTabFragment()
 {
     ViewModel = ViewModelLocator.AnimeDetails;
 }
コード例 #4
0
 private AnimeDetailsPageReviewsTabFragment()
 {
     ViewModel = ViewModelLocator.AnimeDetails;
 }
コード例 #5
0
        public static void BuildTagDialog(AnimeDetailsPageViewModel viewModel)
        {
            _tagsDialogBindings = new List<Binding>();
            _tagsDialogContext = viewModel;
            var dialogBuilder = DialogPlus.NewDialog(MainActivity.CurrentContext);
            dialogBuilder.SetContentHolder(new ViewHolder(Resource.Layout.AnimeTagsDialog));
            dialogBuilder.SetContentBackgroundResource(Resource.Color.BrushFlyoutBackground);
            dialogBuilder.SetOnDismissListener(new DialogDismissedListener(CleanupTagsDialog));
            dialogBuilder.SetGravity((int) GravityFlags.Top);
            dialogBuilder.SetOnDismissListener(
                new DialogDismissedListener(() => ViewModelLocator.NavMgr.ResetOneTimeOverride()));
            ViewModelLocator.NavMgr.RegisterOneTimeMainOverride(new RelayCommand(CleanupTagsDialog));
            _tagsDialog = dialogBuilder.Create();
            var view = _tagsDialog.HolderView;

            view.FindViewById<ListView>(Resource.Id.AnimeTagsDialogList).Adapter =
                viewModel.MyTags.GetAdapter(GetTagItem);
            var editBox = view.FindViewById<EditText>(Resource.Id.AnimeTagsDialogEditBox);

            _tagsDialogBindings.Add(new Binding<string, string>(
                viewModel,
                () => viewModel.NewTagInput,
                editBox,
                () => editBox.Text,BindingMode.TwoWay));

            view.FindViewById<ImageButton>(Resource.Id.AnimeTagsDialogAddTagButton).SetCommand("Click",viewModel.AddTagCommand);

            _tagsDialog.Show();
        }