0
点赞
收藏
分享

微信扫一扫

Recycleview滑动时的item动画

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)

举报

相关推荐

0 条评论