在搜索SO之后,我有这段代码来动画在RecyclerView中显示项目的动画
@Override
public void onBindViewHolder(CourseViewHolder courseViewHolder, final int i) {
courseViewHolder.courseDate.setText(courseList.get(i).year);
courseViewHolder.courseName.setText(courseList.get(i).name);
setAnimation(courseViewHolder.view, i);
courseViewHolder.view.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
mListener.onClick(view, i);
}
});
}
private void setAnimation(View viewToAnimate, int position) {
// If the bound view wasn't previously displayed on screen, it's animated
if (position > lastPosition) {
Animation animation = AnimationUtils.loadAnimation(context, android.R.anim.slide_in_left);
viewToAnimate.startAnimation(animation);
lastPosition = position;
}
}
它有点起作用,但所有项目的动画同时开始。这可以逐个滑动项目吗?我想在动画项目后让Handler
传递延迟,但它不起作用,我不知道放在哪里(onBindViewHolder
仍设法一次显示所有项目)。
另一个问题,我可以在哪里放置代码来动画适配器中所有项目的消失动画?您在活动中的SwipeRefreshLayout的OnRefreshListener
中刷新RecyclerView时要运行的内容。