예제 #1
0
        protected override void RootContainerInit()
        {
            RootContainer.SetOnClickListener(new OnClickListener(view => ContainerOnClick()));
            AnimeGridItemMoreButton.SetOnClickListener(new OnClickListener(view => MoreButtonOnClick()));

            AnimeGridItemTagsButton.SetOnClickListener(new OnClickListener(OnTagsButtonClick));

            AnimeGridItemAddToListButton.SetOnClickListener(new OnClickListener(view => ViewModel.AddAnimeCommand.Execute(null)));

            if (_allowSwipeInGivenContext)
            {
                RootContainer.SwipeEnabled = true;

                RootContainer.SetShowMode(SwipeLayout.ShowMode.LayDown);

                RootContainer.LeftSwipeEnabled  = true;
                RootContainer.RightSwipeEnabled = true;
                RootContainer.ClickToClose      = false;

                _swipeListener = new SwipeLayoutListener();
                RootContainer.SwipeListener = _swipeListener;

                RootContainer.AddDrag(SwipeLayout.DragEdge.Right,
                                      FindViewById(Resource.Id.AnimeGridItemBackSurfaceAdd));
                RootContainer.AddDrag(SwipeLayout.DragEdge.Left,
                                      FindViewById(Resource.Id.AnimeGridItemBackSurfaceSubtract));

                _swipeListener.OnOpenAction = SwipeOnOpenEvent;
            }
            else
            {
                RootContainer.SwipeEnabled      = false;
                RootContainer.LeftSwipeEnabled  = false;
                RootContainer.RightSwipeEnabled = false;
            }

            if (Settings.MakeGridItemsSmaller)
            {
                AnimeGridItemUpperSection.LayoutParameters.Height = DimensionsHelper.DpToPx(174);
                AnimeGridItemLowerSection.LayoutParameters.Height = DimensionsHelper.DpToPx(44);

                AnimeGridItemTagsButton.LayoutParameters.Height    =
                    AnimeGridItemTagsButton.LayoutParameters.Width = DimensionsHelper.DpToPx(30);

                AnimeGridItemBackSurfaceAdd.LayoutParameters.Width      = DimensionsHelper.DpToPx(66);
                AnimeGridItemBackSurfaceSubtract.LayoutParameters.Width = DimensionsHelper.DpToPx(72);

                AnimeGridItemBackSurfaceAdd.GetChildAt(0).TranslationX /= 1.1f;

                AnimeGridItemCurrentWatchingStatus.SetTextSize(ComplexUnitType.Sp, 13);
                AnimeGridItemWatchedStatus.SetTextSize(ComplexUnitType.Sp, 13);
                AnimeGridItemScore.SetTextSize(ComplexUnitType.Sp, 13);
                AnimeGridItemTopLeftInfoMain.SetTextSize(ComplexUnitType.Sp, 13);
                AnimeGridItemTopLeftInfoSub.SetTextSize(ComplexUnitType.Sp, 11);
                AnimeGridItemType.SetTextSize(ComplexUnitType.Sp, 11);

                AnimeGridItemTitle.SetTextSize(ComplexUnitType.Sp, 13);
                AnimeGridItemMoreButton.ScaleX         = AnimeGridItemMoreButton.ScaleY = .85f;
                AnimeGridItemFavouriteIndicator.ScaleX = AnimeGridItemMoreButton.ScaleY = .85f;
                AnimeGridItemTagIcon.ScaleX            = AnimeGridItemTagIcon.ScaleY = .85f;
            }

            if (Settings.ReverseSwipingDirection)
            {
                AnimeGridItemBackSurfaceAdd.SetBackgroundColor(new Color(ResourceExtension.BrushFlyoutBackground));
                SurfaceAddIcon.SetImageResource(Resource.Drawable.icon_minus);
                SurfaceAddIcon.ImageTintList = ColorStateList.ValueOf(new Color(ResourceExtension.BrushText));

                AnimeGridItemBackSurfaceSubtract.SetBackgroundColor(new Color(ResourceExtension.AccentColour));
                SurfaceSubtractIcon.SetImageResource(Resource.Drawable.icon_add);
                SurfaceSubtractIcon.ImageTintList = ColorStateList.ValueOf(Color.White);
            }
        }
예제 #2
0
        protected override void BindModelBasic()
        {
            ViewModel.AnimeItemDisplayContext = ViewModelLocator.AnimeList.AnimeItemsDisplayContext;

            AnimeGridItemTitle.Text = ViewModel.Title;
            AnimeGridItemFavouriteIndicator.Visibility = ViewModel.IsFavouriteVisibility
                ? ViewStates.Visible
                : ViewStates.Gone;
            AnimeGridItemTopRightInfo.Visibility = ViewModel.UpdateButtonsVisibility ? ViewStates.Visible : ViewStates.Gone;

            AnimeGridItemCurrentWatchingStatus.Text = ViewModel.MyStatusBindShort;
            AnimeGridItemWatchedStatus.Text         = ViewModel.MyEpisodesBindShort;
            AnimeGridItemScore.Text = ViewModel.MyScoreBindShort;
            AnimeGridItemAddToListButton.Visibility = ViewModel.AddToListVisibility ? ViewStates.Visible : ViewStates.Gone;
            if (string.IsNullOrEmpty(ViewModel.TopLeftInfoBind))
            {
                AnimeGridItemTopLeftInfo.Visibility = ViewStates.Gone;
            }
            else
            {
                AnimeGridItemTopLeftInfo.Visibility = ViewStates.Visible;
                AnimeGridItemTopLeftInfoMain.Text   = ViewModel.TopLeftInfoBind;
                if (ViewModel.AirDayBrush == true)
                {
                    AnimeGridItemTopLeftInfoMain.SetTextColor(new Color(110, 110, 110)); //gray
                    AnimeGridItemTopLeftInfoSub.Text       = ViewModel.AirDayTillBind;
                    AnimeGridItemTopLeftInfoSub.Visibility = ViewStates.Visible;
                }
                else
                {
                    AnimeGridItemTopLeftInfoMain.SetTextColor(new Color(255, 255, 255));
                    AnimeGridItemTopLeftInfoSub.Visibility = ViewStates.Gone;
                }
            }

            if (_displayTimeTillAir)
            {
                if (string.IsNullOrEmpty(ViewModel.TimeTillNextAirCache))
                {
                    AnimeGridItemTimeTillAir.Visibility = ViewStates.Gone;
                }
                else
                {
                    AnimeGridItemTimeTillAir.Visibility = ViewStates.Visible;
                    AnimeGridItemTimeTillAir.Text       = ViewModel.TimeTillNextAirCache;
                }
            }


            if (string.IsNullOrEmpty(ViewModel.Type))
            {
                AnimeGridItemType.Visibility = ViewStates.Gone;
            }
            else
            {
                AnimeGridItemType.Visibility = ViewStates.Visible;
                AnimeGridItemType.Text       = ViewModel.Type;
            }

            if (ViewModelLocator.GeneralMain.CurrentMainPageKind == PageIndex.PageAnimeList)
            {
                var targetStatus = ViewModelLocator.AnimeList.GetDesiredStatus();
                if (!ViewModel.IsRewatching && targetStatus != AnimeStatus.AllOrAiring && ViewModel.MyStatus != targetStatus)
                {
                    Alpha = .6f;
                }
                else
                {
                    Alpha = 1;
                }
            }
            else
            {
                Alpha = 1;
            }


            AnimeGridItemTagsButton.Visibility = ViewModel.TagsControlVisibility ? ViewStates.Visible : ViewStates.Invisible;
        }