package com.race604.flyrefresh.sample;
import android.animation.Animator;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.support.v4.view.ViewCompat;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.animation.DecelerateInterpolator;
import android.view.animation.OvershootInterpolator;
import jp.wasabeef.recyclerview.animators.BaseItemAnimator;
/**
* Created by jing on 15-5-28.
*/
public class SampleItemAnimator extends BaseItemAnimator {
@Override
protected void preAnimateAddImpl(RecyclerView.ViewHolder holder) {
View icon = holder.itemView.findViewById(R.id.icon);
icon.setRotationX(30);
View right = holder.itemView.findViewById(R.id.right);
right.setPivotX(0);
right.setPivotY(0);
right.setRotationY(90);
}
@Override
protected void animateRemoveImpl(RecyclerView.ViewHolder viewHolder) {
}
@Override
protected void animateAddImpl(final RecyclerView.ViewHolder holder) {
View target = holder.itemView;
View icon = target.findViewById(R.id.icon);
Animator swing = ObjectAnimator.ofFloat(icon, "rotationX", 45, 0);
swing.setInterpolator(new OvershootInterpolator(5));
View right = holder.itemView.findViewById(R.id.right);
Animator rotateIn = ObjectAnimator.ofFloat(right, "rotationY", 90, 0);
rotateIn.setInterpolator(new DecelerateInterpolator());
AnimatorSet animator = new AnimatorSet();
animator.setDuration(getAddDuration());
animator.playTogether(swing, rotateIn);
animator.start();
}
}