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); } }
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; }