package com.xiecc.seeWeather.component;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import com.xiecc.seeWeather.R;
/**
* Created by bruce on 2016-04-30.
* Project: newsnow
*/
/**
* Thanks for drakeet/Meizhi
* <p>
* https://github.com/drakeet/Meizhi/blob/master/app%2Fsrc%2Fmain%2Fjava%2Fme%2Fdrakeet%2Fmeizhi%2Fui%2Fadapter%2FAnimRecyclerViewAdapter.java
*/
public class AnimRecyclerViewAdapter<T extends RecyclerView.ViewHolder>
extends RecyclerView.Adapter<T> {
private static final int DELAY = 138;
private int mLastPosition = -1;
@Override
public T onCreateViewHolder(ViewGroup parent, int viewType) {
return null;
}
@Override
public void onBindViewHolder(T holder, int position) {
}
@Override
public int getItemCount() {
return 0;
}
public void showItemAnim(final View view, final int position) {
Context context = view.getContext();
if (position > mLastPosition) {
view.setAlpha(0);
view.postDelayed(() -> {
Animation animation = AnimationUtils.loadAnimation(context,
R.anim.slide_in_right);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
view.setAlpha(1);
}
@Override
public void onAnimationEnd(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
view.startAnimation(animation);
}, DELAY * position);
mLastPosition = position;
}
}
}