예제 #1
0
        protected override void DetachInnerBindings()
        {
            if (Bindings.Any())
            {
                AnimeGridItemMoreButton.SetOnClickListener(null);
                Container.SetOnClickListener(null);
            }

            _bindingsInitialized        = false;
            _oneTimeBindingsInitialized = false;
            _swipeLayoutInitialized     = false;
        }
예제 #2
0
        protected override void InitOneTimeBindings()
        {
            if (_oneTimeBindingsInitialized)
            {
                return;
            }
            _oneTimeBindingsInitialized = true;

            if (!Fling && (int)Container.Tag != ViewModel.Id)
            {
                ViewModel.AnimeItemDisplayContext = ViewModelLocator.AnimeList.AnimeItemsDisplayContext;


                var img = Container.FindViewById <ImageViewAsync>(Resource.Id.AnimeGridItemImage);
                img.AnimeInto(ViewModel.ImgUrl);
                Container.FindViewById(Resource.Id.AnimeGridItemImgPlaceholder).Visibility = ViewStates.Gone;


                Container.FindViewById(Resource.Id.AnimeGridItemFavouriteIndicator).Visibility =
                    ViewModel.IsFavouriteVisibility ? ViewStates.Visible : ViewStates.Gone;

                if (AllowSwipeInGivenContext && ViewModel.Auth)
                {
                    InitializeSwipeLayout();
                }
                else
                {
                    DisableSwipe();
                }

                Container.SetOnClickListener(new OnClickListener(view => ContainerOnClick()));
                AnimeGridItemMoreButton.SetOnClickListener(new OnClickListener(view => AnimeGridItemMoreButtonOnClick()));

                Container.Tag = ViewModel.Id;
            }
            else if (Fling)
            {
                Container.FindViewById(Resource.Id.AnimeGridItemImage).Visibility          = ViewStates.Invisible;
                Container.FindViewById(Resource.Id.AnimeGridItemImgPlaceholder).Visibility = ViewStates.Visible;
            }

            Container.FindViewById <TextView>(Resource.Id.AnimeGridItemTitle).Text = ViewModel.Title;
        }
예제 #3
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);
            }
        }