@Override protected void onAnimationCancel(@NonNull MoveAnimationInfo info, @NonNull RecyclerView.ViewHolder item) { final View view = item.itemView; final int deltaX = info.toX - info.fromX; final int deltaY = info.toY - info.fromY; if (deltaX != 0) { ViewCompat.animate(view).translationX(0); } if (deltaY != 0) { ViewCompat.animate(view).translationY(0); } if (deltaX != 0) { view.setTranslationX(0); } if (deltaY != 0) { view.setTranslationY(0); } }
void start() { final View containerView = SwipeableViewHolderUtils.getSwipeableContainerView(mViewHolder); mInvSize = (1.0f / Math.max(1.0f, mHorizontal ? containerView.getWidth() : containerView.getHeight())); // setup animator mAnimator = ViewCompat.animate(containerView); mAnimator.setDuration(mDuration); mAnimator.translationX(mToX); mAnimator.translationY(mToY); if (mInterpolator != null) { mAnimator.setInterpolator(mInterpolator); } mAnimator.setListener(this); mAnimator.setUpdateListener(this); // start mActive.add(mViewHolder); mAnimator.start(); }
@Override protected void onCreateChangeAnimationForOldItem(@NonNull ChangeAnimationInfo info) { final ViewPropertyAnimatorCompat animator = ViewCompat.animate(info.oldHolder.itemView); animator.setDuration(getDuration()); animator.translationX(info.toX - info.fromX); animator.translationY(info.toY - info.fromY); animator.alpha(0); startActiveItemAnimation(info, info.oldHolder, animator); }
@Override protected void onCreateChangeAnimationForNewItem(@NonNull ChangeAnimationInfo info) { final ViewPropertyAnimatorCompat animator = ViewCompat.animate(info.newHolder.itemView); animator.translationX(0); animator.translationY(0); animator.setDuration(getDuration()); animator.alpha(1); startActiveItemAnimation(info, info.newHolder, animator); }
@Override protected void animateRemoveImpl(final RecyclerView.ViewHolder holder) { ViewCompat.animate(holder.itemView) .translationX(holder.itemView.getRootView().getWidth()) .setDuration(getRemoveDuration()) .setListener(new DefaultRemoveVpaListener(holder)) .setStartDelay(getRemoveDelay(holder)) .start(); }
@Override protected void onCreateAnimation(@NonNull MoveAnimationInfo info) { final View view = info.holder.itemView; final int deltaX = info.toX - info.fromX; final int deltaY = info.toY - info.fromY; if (deltaX != 0) { ViewCompat.animate(view).translationX(0); } if (deltaY != 0) { ViewCompat.animate(view).translationY(0); } final ViewPropertyAnimatorCompat animator = ViewCompat.animate(view); animator.setDuration(getDuration()); startActiveItemAnimation(info, info.holder, animator); }
@Override protected void animateRemoveImpl(final RecyclerView.ViewHolder holder) { ViewCompat.animate(holder.itemView) .translationX(-holder.itemView.getRootView().getWidth()) .setDuration(getRemoveDuration()) .setListener(new DefaultRemoveVpaListener(holder)) .setStartDelay(getRemoveDelay(holder)) .start(); }
@Override protected void animateRemoveImpl(final RecyclerView.ViewHolder holder) { ViewCompat.animate(holder.itemView) .translationX(holder.itemView.getRootView().getWidth()) .setDuration(getRemoveDuration()) .setInterpolator(mInterpolator) .setListener(new DefaultRemoveVpaListener(holder)) .setStartDelay(getRemoveDelay(holder)) .start(); }
@Override protected void animateRemoveImpl(final RecyclerView.ViewHolder holder) { ViewCompat.animate(holder.itemView) .translationX(-holder.itemView.getRootView().getWidth()) .setDuration(getRemoveDuration()) .setInterpolator(mInterpolator) .setListener(new DefaultRemoveVpaListener(holder)) .setStartDelay(getRemoveDelay(holder)) .start(); }
@Override protected void animateRemoveImpl(final RecyclerView.ViewHolder holder) { ViewCompat.animate(holder.itemView) .translationX(holder.itemView.getRootView().getWidth() * .25f) .alpha(0) .setDuration(getRemoveDuration()) .setInterpolator(mInterpolator) .setListener(new DefaultRemoveVpaListener(holder)) .setStartDelay(getRemoveDelay(holder)) .start(); }
@Override protected void animateRemoveImpl(final RecyclerView.ViewHolder holder) { ViewCompat.animate(holder.itemView) .translationX(-holder.itemView.getRootView().getWidth() * .25f) .alpha(0) .setDuration(getRemoveDuration()) .setInterpolator(mInterpolator) .setListener(new DefaultRemoveVpaListener(holder)) .setStartDelay(getRemoveDelay(holder)) .start(); }
final ViewPropertyAnimatorCompat oldViewAnim = ViewCompat.animate(view).setDuration(getChangeDuration()); oldViewAnim.translationX(changeInfo.toX - changeInfo.fromX); oldViewAnim.translationY(changeInfo.toY - changeInfo.fromY); oldViewAnim.alpha(0).setListener(new VpaListenerAdapter() { mChangeAnimations.add(changeInfo.newHolder); final ViewPropertyAnimatorCompat newViewAnimation = ViewCompat.animate(newView); newViewAnimation.translationX(0).translationY(0).setDuration(getChangeDuration()). alpha(1).setListener(new VpaListenerAdapter() { @Override public void onAnimationStart(View view) {
final int deltaY = toY - fromY; if (deltaX != 0) { ViewCompat.animate(view).translationX(0);
@Override protected void animateAddImpl(final RecyclerView.ViewHolder holder) { ViewCompat.animate(holder.itemView) .translationX(0) .setDuration(getAddDuration()) .setInterpolator(mInterpolator) .setListener(new DefaultAddVpaListener(holder)) .setStartDelay(getAddDelay(holder)) .start(); } }
@Override protected void animateAddImpl(final RecyclerView.ViewHolder holder) { ViewCompat.animate(holder.itemView) .translationX(0) .setDuration(getAddDuration()) .setInterpolator(mInterpolator) .setListener(new DefaultAddVpaListener(holder)) .setStartDelay(getAddDelay(holder)) .start(); } }
@Override protected void animateAddImpl(final RecyclerView.ViewHolder holder) { ViewCompat.animate(holder.itemView) .translationX(0) .alpha(1) .setDuration(getAddDuration()) .setInterpolator(mInterpolator) .setListener(new DefaultAddVpaListener(holder)) .setStartDelay(getAddDelay(holder)) .start(); } }
@Override protected void animateAddImpl(final RecyclerView.ViewHolder holder) { ViewCompat.animate(holder.itemView) .translationX(0) .setDuration(getAddDuration()) .setListener(new DefaultAddVpaListener(holder)) .setInterpolator(new OvershootInterpolator(mTension)) .setStartDelay(getAddDelay(holder)) .start(); } }
@Override protected void animateAddImpl(final RecyclerView.ViewHolder holder) { ViewCompat.animate(holder.itemView) .translationX(0) .alpha(1) .setDuration(getAddDuration()) .setInterpolator(mInterpolator) .setListener(new DefaultAddVpaListener(holder)) .setStartDelay(getAddDelay(holder)) .start(); } }
@Override protected void animateAddImpl(final RecyclerView.ViewHolder holder) { ViewCompat.animate(holder.itemView) .translationX(0) .setDuration(getAddDuration()) .setInterpolator(new OvershootInterpolator(mTension)) .setListener(new DefaultAddVpaListener(holder)) .setStartDelay(getAddDelay(holder)) .start(); } }
public void setSwapTargetItem(RecyclerView.ViewHolder swapTargetItem) { if (mSwapTargetItem == swapTargetItem) { return; } // reset Y-translation if the swap target has been changed if (mSwapTargetItem != null) { ViewPropertyAnimatorCompat animator = ViewCompat.animate(mSwapTargetItem.itemView); animator.cancel(); animator.setDuration(10) .translationX(0) .translationY(0) .setListener(RESET_TRANSLATION_LISTENER) .start(); } mSwapTargetItem = swapTargetItem; if (mSwapTargetItem != null) { ViewPropertyAnimatorCompat animator = ViewCompat.animate(mSwapTargetItem.itemView); animator.cancel(); } mSwapTargetItemChanged = true; }