Example #1
0
        public void SetupUnderSwipeBackground(MvxAdvancedRecyclerViewHolder swipeHolder)
        {
            var swipeState = swipeHolder.SwipeStateFlags;

            if ((swipeState & SwipeableItemConstants.StateFlagIsUpdated & 0) == 0)
            {
                int backgroundResourceId = -1;
                if ((swipeState & SwipeableItemConstants.StateFlagIsActive) != 0 && UnderSwipeBackgroundResourceIdWhenSwipeActive != -1)
                {
                    backgroundResourceId = UnderSwipeBackgroundResourceIdWhenSwipeActive;
                }
                else if ((swipeState & SwipeableItemConstants.StateFlagSwiping) != 0 && UnderSwipeBackgroundResourceIdWhenSwiping != -1)
                {
                    backgroundResourceId = UnderSwipeBackgroundResourceIdWhenSwiping;
                }
                else if (UnderSwipeBackgroundResourceIdWhenNormalState != -1)
                {
                    backgroundResourceId = UnderSwipeBackgroundResourceIdWhenNormalState;
                }

                if (backgroundResourceId != -1)
                {
                    swipeHolder.UnderSwipeableContainerView.SetBackgroundResource(backgroundResourceId);
                }
            }
        }
        public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            var itemBindingContext   = new MvxAndroidBindingContext(parent.Context, BindingContext.LayoutInflaterHolder);
            var itemTemplateSelector = ItemTemplateSelector;

            var viewForHolder = InflateViewForHolder(parent, viewType, itemBindingContext);

            var vh = new MvxAdvancedRecyclerViewHolder(viewForHolder,
                                                       SwipeableTemplate.SwipeContainerViewGroupId,
                                                       SwipeableTemplate.UnderSwipeContainerViewGroupId,
                                                       itemBindingContext)
            {
            };

            return(vh);
        }
Example #3
0
        public void SetupSlideAmount(MvxAdvancedRecyclerViewHolder holder, SwipeItemPinnedStateControllerProvider swipeItemPinnedStateController)
        {
            if (swipeItemPinnedStateController.ForLeftSwipe().IsPinned(holder.DataContext))
            {
                holder.SwipeItemHorizontalSlideAmount = MaxLeftSwipeAmount;
            }
            else if (swipeItemPinnedStateController.ForRightSwipe().IsPinned(holder.DataContext))
            {
                holder.SwipeItemHorizontalSlideAmount = MaxRightSwipeAmount;
            }

            if (swipeItemPinnedStateController.ForTopSwipe().IsPinned(holder.DataContext))
            {
                holder.SwipeItemVerticalSlideAmount = MaxUpSwipeAmount;
            }
            else if (swipeItemPinnedStateController.ForBottomSwipe().IsPinned(holder.DataContext))
            {
                holder.SwipeItemVerticalSlideAmount = MaxDownSwipeAmount;
            }
        }
Example #4
0
 /// <summary>
 /// You can override this method and change value of Up Swipe Amount (or completely disable) based on ViewHolder/Data model.
 /// </summary>
 /// <returns></returns>
 public virtual float GetMaxUpSwipeAmount(object dataContext, MvxAdvancedRecyclerViewHolder viewHolder)
 => MaxUpSwipeAmount;
Example #5
0
 public virtual int GetSwipeReactionType(object dataContext, MvxAdvancedRecyclerViewHolder holder) => SwipeReactionType;