我这样设置动画:
@Override public void onBindViewHolder(ViewHolder holder, int position) { Animation anim = AnimationUtils.loadAnimation(context, R.anim.rotate); holder.windPropellers.setAnimation(anim); break; }
当视图滚动离开屏幕时,动画将停止。当您向后滚动时,它根本就没有动画。
您需要在视图中设置瞬态,以防止其被回收。
您的代码如下所示:
@Override public void onBindViewHolder(final ViewHolder holder, int position) { Animation anim = AnimationUtils.loadAnimation(context, R.anim.rotate); holder.windPropellers.setHasTransientState(true); anim.setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { holder.windPropellers.setHasTransientState(false); } }); holder.windPropellers.setAnimation(anim); break;
}