Android 每次用户滚动到“结束”并使其可见时,仅对“回收器”视图的最后一项设置动画
我只想为recyclerview的最后一项的外观设置动画。每次滚动结束时,视图都应显示动画 当项目被删除、添加或删除时,应用项目动画制作器会制作动画。但我并没有选择动画在滚动 我在onBindView中应用了动画,但并不总是调用onBindView,动画也不会启动。此外,在调用onBindView并且用户正在执行慢速滚动操作的情况下,当视图对用户实际可见时,动画已经开始 应用此动画的合适方法是什么 谢谢Android 每次用户滚动到“结束”并使其可见时,仅对“回收器”视图的最后一项设置动画,android,android-recyclerview,android-animation,Android,Android Recyclerview,Android Animation,我只想为recyclerview的最后一项的外观设置动画。每次滚动结束时,视图都应显示动画 当项目被删除、添加或删除时,应用项目动画制作器会制作动画。但我并没有选择动画在滚动 我在onBindView中应用了动画,但并不总是调用onBindView,动画也不会启动。此外,在调用onBindView并且用户正在执行慢速滚动操作的情况下,当视图对用户实际可见时,动画已经开始 应用此动画的合适方法是什么 谢谢 Vibhor我已经测试过这个解决方案,它的效果非常好 此解决方案可以通过利用dy进行优化。
Vibhor我已经测试过这个解决方案,它的效果非常好
此解决方案可以通过利用
dy
进行优化。我尝试了此选项,但每次scroll都不会调用BindViewHolder。e、 g.向上滚动一点,然后向后滚动到末尾,不会调用onBindViewHolder,因此动画不会启动
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);
}