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); }
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; } }
/// <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;
public virtual int GetSwipeReactionType(object dataContext, MvxAdvancedRecyclerViewHolder holder) => SwipeReactionType;