Recycleview滑动时进场item淡入的动画:
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
....代码省略
@Override
public void onViewAttachedToWindow(MyAdapter.MyViewHolder holder) {
super.onViewAttachedToWindow(holder);
addAnimation(holder);
}
private void addAnimation(MyAdapter.MyViewHolder holder) {
for (Animator anim : getAnimators(holder.itemView)) {
anim.setDuration(200).start();
}
}
@SuppressLint("ObjectAnimatorBinding")
public Animator[] getAnimators(View view) {
ObjectAnimator scaleX = ObjectAnimator.ofFloat(view, "scalex", 0, 1f);
ObjectAnimator scaleY = ObjectAnimator.ofFloat(view, "scaleY", 0, 1f);
ObjectAnimator alpha = ObjectAnimator.ofFloat(view, "alpha", 0, 1f);
return new ObjectAnimator[]{scaleX,scaleY,alpha};
}
}
每渲染一个item就会调用 onViewAttachedToWindow方法
那就从这个方法里面加动画:
通过ObjectAnimator这个类的ofFloat方法添加动画后.start()开启动画
注:ofFloat方法的第二个参数是动画的类型,我这里演示的是x缩放、y缩放和透明度,后面的参数是动画开始和结束的值(我这里是0和1f)