@Override public void onAnimationStart(View view) { dispatchChangeStarting(changeInfo.newHolder, false); } @Override
/** * Check the state of currently pending and running animations. If there are none * pending/running, call {@link #dispatchAnimationsFinished()} to notify any * listeners. */ protected void dispatchFinishedWhenDone() { if (!isRunning()) { dispatchAnimationsFinished(); } }
@Override public void onAnimationStart(View view) { dispatchMoveStarting(holder); } @Override
@Override public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) { switch (position){ case 0: mRecyclerView.setItemAnimator(new SlideInOutLeftItemAnimator(mRecyclerView)); break; case 1: mRecyclerView.setItemAnimator(new SlideInOutRightItemAnimator(mRecyclerView)); break; case 2: mRecyclerView.setItemAnimator(new SlideInOutTopItemAnimator(mRecyclerView)); break; case 3: mRecyclerView.setItemAnimator(new SlideInOutBottomItemAnimator(mRecyclerView)); break; case 4: mRecyclerView.setItemAnimator(new ScaleInOutItemAnimator(mRecyclerView)); break; case 5: mRecyclerView.setItemAnimator(new SlideScaleInOutRightItemAnimator(mRecyclerView)); break; } }
public SlideScaleInOutRightItemAnimator(RecyclerView recyclerView) { super(recyclerView); setAddDuration(750); setRemoveDuration(750); }
private void endChangeAnimationIfNecessary(ChangeInfo changeInfo) { if (changeInfo.oldHolder != null) { endChangeAnimationIfNecessary(changeInfo, changeInfo.oldHolder); } if (changeInfo.newHolder != null) { endChangeAnimationIfNecessary(changeInfo, changeInfo.newHolder); } } private boolean endChangeAnimationIfNecessary(ChangeInfo changeInfo, RecyclerView.ViewHolder item) {
@Override public void onAnimationStart(View view) { dispatchRemoveStarting(holder); }
@Override public void onAnimationStart(View view) { dispatchRemoveStarting(holder); }
@Override public void onAnimationStart(View view) { dispatchRemoveStarting(holder); }
@Override public void onAnimationStart(View view) { dispatchAddStarting(holder); }
@Override public void onAnimationStart(View view) { dispatchRemoveStarting(holder); }
@Override public void onAnimationStart(View view) { dispatchAddStarting(holder); }
@Override public void onAnimationStart(View view) { dispatchAddStarting(holder); }
@Override public void onAnimationStart(View view) { dispatchAddStarting(holder); }
@Override public void onAnimationStart(View view) { dispatchRemoveStarting(holder); }
@Override public void onAnimationStart(View view) { dispatchAddStarting(holder); }
@Override public void onAnimationStart(View view) { dispatchRemoveStarting(holder); }
@Override public void onAnimationStart(View view) { dispatchAddStarting(holder); }
@Override public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) { switch (position) { case 0: mRecyclerView.setItemAnimator(new SlideInOutLeftItemAnimator(mRecyclerView)); break; case 1: mRecyclerView.setItemAnimator(new SlideInOutRightItemAnimator(mRecyclerView)); break; case 2: mRecyclerView.setItemAnimator(new SlideInOutTopItemAnimator(mRecyclerView)); break; case 3: mRecyclerView.setItemAnimator(new SlideInOutBottomItemAnimator(mRecyclerView)); break; case 4: mRecyclerView.setItemAnimator(new ScaleInOutItemAnimator(mRecyclerView)); break; case 5: mRecyclerView.setItemAnimator(new SlideScaleInOutRightItemAnimator(mRecyclerView)); break; } }
@Override public void onAnimationStart(View view) { dispatchChangeStarting(changeInfo.oldHolder, true); }