@Override public void clearView(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder) { super.clearView(recyclerView, viewHolder); viewHolder.itemView.setScrollX(0); }
@Override public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) { if (actionState == ItemTouchHelper.ACTION_STATE_SWIPE) { View view = viewHolder.itemView; c.save(); mSwipePaint.setAlpha((int) (255 * view.getAlpha())); mDeleteIcon.setAlpha((int) (255 * view.getAlpha())); int sw = mDeleteIcon.getIntrinsicWidth(); int sh = mDeleteIcon.getIntrinsicHeight(); int cx; int cy = (view.getTop() + view.getBottom()) / 2; if (dX > 0.f) { mTempRect.set(view.getLeft(), view.getTop(), (int) dX, view.getBottom()); cx = view.getLeft() + mIconPadding + sw / 2; } else { mTempRect.set(view.getRight() + (int) dX, view.getTop(), view.getRight(), view.getBottom()); cx = view.getRight() - mIconPadding - sw / 2; } mDeleteIcon.setBounds(cx - sw / 2, cy - sh / 2, cx + sw / 2, cy + sh / 2); c.drawRect(mTempRect, mSwipePaint); c.clipRect(mTempRect); mDeleteIcon.draw(c); c.restore(); } super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive); }
@Override public void onSelectedChanged(RecyclerView.ViewHolder viewHolder, int actionState) { super.onSelectedChanged(viewHolder, actionState); if(actionState == ACTION_STATE_IDLE && draggedTo != draggedFrom) { int pos = draggedTo; if(draggedTo == 0) pos++; QuestType before = getList().get(pos-1).questType; QuestType after = getList().get(pos).questType; questTypeOrderList.apply(before, after); draggedTo = draggedFrom = -1; } }
boolean dragged = (dY != 0.f); if (holder.mIsDragged == dragged) { super.onChildDrawOver(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive); return; holder.mDragAnimator.start(); super.onChildDrawOver(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
@Override public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) { if (actionState == ItemTouchHelper.ACTION_STATE_SWIPE) { if (viewHolder instanceof QueueListAdapter.QueueItemViewHolder) { QueueListAdapter.QueueItemViewHolder queueHolder = (QueueListAdapter.QueueItemViewHolder) viewHolder; ViewCompat.setTranslationX(queueHolder.mContainer, dX); } } else { super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive); } }
@Override public void clearView(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) { super.clearView(recyclerView, viewHolder); if (viewHolder instanceof QueueListAdapter.ItemTouchHelperViewHolder) { QueueListAdapter.ItemTouchHelperViewHolder itemViewHolder = (QueueListAdapter.ItemTouchHelperViewHolder) viewHolder; itemViewHolder.onItemClear(); } }
@Override public void onSelectedChanged(RecyclerView.ViewHolder viewHolder, int actionState) { if (actionState != ItemTouchHelper.ACTION_STATE_IDLE) { if (viewHolder instanceof QueueListAdapter.ItemTouchHelperViewHolder) { QueueListAdapter.ItemTouchHelperViewHolder itemViewHolder = (QueueListAdapter.ItemTouchHelperViewHolder) viewHolder; itemViewHolder.onItemSelected(); } } super.onSelectedChanged(viewHolder, actionState); }
@Override public void clearView(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) { super.clearView(recyclerView, viewHolder); if (mDragDelete) { mColors.remove(viewHolder.getAdapterPosition() - getColorsStart()); notifyItemRemoved(viewHolder.getAdapterPosition()); } mDragDelete = false; }
@Override public void onChildDraw(@NonNull Canvas c, @NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) { if (actionState == ItemTouchHelper.ACTION_STATE_SWIPE) { if (Math.abs(dX) <= getSlideLimitation(viewHolder)) { viewHolder.itemView.scrollTo(-(int) dX, 0); } } else { super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive); } }
@Override public void onMoved(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, int fromPos, RecyclerView.ViewHolder target, int toPos, int x, int y) { super.onMoved(recyclerView, viewHolder, fromPos, target, toPos, x, y); if(draggedFrom == -1) draggedFrom = fromPos; draggedTo = toPos; }
/** * @see #onMoved(RecyclerView, ViewHolder, int, ViewHolder, int, int, int) */ protected void onMoved(RecyclerView recyclerView, EpoxyViewHolder viewHolder, int fromPos, EpoxyViewHolder target, int toPos, int x, int y) { super.onMoved(recyclerView, viewHolder, fromPos, target, toPos, x, y); }
/** * @see #onChildDrawOver(Canvas, RecyclerView, ViewHolder, float, float, int, boolean) */ protected void onChildDrawOver(Canvas c, RecyclerView recyclerView, EpoxyViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) { super.onChildDrawOver(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive); } }
/** * @see #clearView(RecyclerView, ViewHolder) */ protected void clearView(RecyclerView recyclerView, EpoxyViewHolder viewHolder) { super.clearView(recyclerView, viewHolder); }
/** * @see #chooseDropTarget(ViewHolder, List, int, int) */ protected EpoxyViewHolder chooseDropTarget(EpoxyViewHolder selected, List<EpoxyViewHolder> dropTargets, int curX, int curY) { //noinspection unchecked return (EpoxyViewHolder) super.chooseDropTarget(selected, (List) dropTargets, curX, curY); }
/** * @see #onChildDraw(Canvas, RecyclerView, ViewHolder, float, float, int, boolean) */ protected void onChildDraw(Canvas c, RecyclerView recyclerView, EpoxyViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) { super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive); }
/** * @see #onSelectedChanged(ViewHolder, int) */ protected void onSelectedChanged(EpoxyViewHolder viewHolder, int actionState) { super.onSelectedChanged(viewHolder, actionState); }
/** * @see #canDropOver(RecyclerView, ViewHolder, ViewHolder) */ protected boolean canDropOver(RecyclerView recyclerView, EpoxyViewHolder current, EpoxyViewHolder target) { return super.canDropOver(recyclerView, current, target); }