当我从RecyclerView中删除某个项目时,我想要显示"轻扫"动画,即项目从屏幕侧面移动。我相信有支持"轻扫以解雇"使用ItemTouchHelper,但这是触摸启动的,而我希望能够以编程方式启动滑动。
我还尝试通过扩展DefaultItemAnimator来设置RecyclerView项动画师。使用此方法,我可以让项目左右滑动,但不幸的是,列表中的间隙很快关闭,因此在列表项间隙关闭之前滑动没有完成。
任何人都知道怎么做?
答案 0 :(得分:2)
您可以使用this library提供的ItemAnimators
。更具体地说,您将使用他们的SlideInLeftAnimator
或SlideInRightAnimator
。
答案 1 :(得分:0)
旧的,但已经通过外部库得到了答复;可能有人想用原始Java来做。我已经用here
中的解决方案来做这个想法是,您删除要删除的RecyclerView的列表项视图并对其进行动画处理;并通常将其从适配器中删除
private void removeListItem(View rowView, final int position) {
Animation anim = AnimationUtils.loadAnimation(this,
android.R.anim.slide_out_right);
anim.setDuration(500);
rowView.startAnimation(anim);
new Handler().postDelayed(new Runnable() {
public void run() {
values.remove(position); //Remove the current content from the array
adapter.notifyDataSetChanged(); //Refresh list
}
}, anim.getDuration());
}