每次用户滚动到结束并使其可见时,仅为回收器视图的最后一项设置动画

时间:2018-02-06 01:33:38

标签: android android-recyclerview android-animation

我想仅为回收者视图的最后一项设置外观。每次完成滚动结束时,视图都应显示动画。

在删除,添加,删除项目时应用项目动画制动画。但我没有选择动画滚动。

我在onBindView中应用了动画,但并不总是调用onBindView并且没有启动动画。此外,在调用onBindView并且用户正在执行慢滚动操作的情况下,当视图实际上对用户可见时,动画已经开始。

应用此动画的合适方法是什么?

由于 Vibhor

1 个答案:

答案 0 :(得分:2)

我已经测试了这个解决方案,它的工作就像一个魅力。

enter image description here

 recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                LinearLayoutManager layoutManager = LinearLayoutManager.class.cast(recyclerView.getLayoutManager());
                int lastItem=adapter.getItemCount()-1;
                tryAnimation(layoutManager.findViewByPosition(lastItem));
            }
        });



 public void tryAnimation(View view) {
    Animation animation = AnimationUtils.loadAnimation(this, android.R.anim.slide_in_left);
    if (view != null)
        view.startAnimation(animation);
}

可以利用dy

优化此解决方案