Android_RecyclerView BRVAH 添加删除
2020-06-14 本文已影响0人
MartinDong
BaseRecyclerViewAdapterHelper
我是使用第三方 BaseRecyclerViewAdapterHelper 作为RecyclerView的 adapter。
直达 BaseRecyclerViewAdapterHelper 库
先看效果
![](https://img.haomeiwen.com/i4171981/fe58026e86bfa3d3.gif)
-
首先BRVAH这个库已经支持了加载动画,使用起来很方便,实现加载动画的具体方法在这里 ,加载动画默认提供5种方法(渐显、缩放、从下到上,从左到右、从右到左),当然也支持自定义的动画效果。
-
添加删除动画也很简单
1. 在Adapter 中添加删除动画,执行清理数据的操作
public class MyAdapter extends BaseQuickAdapter<ItemBean,BaseViewHolder> {
private final Resources resources;
List itemList = new ArrayList<View>();
BaseViewHolder mBaseViewHolder;
public MyAdapter(int layoutResId, List data) {
super(layoutResId, data);
resources = Utils.getApp().getResources();
}
@Override
protected void convert(BaseViewHolder baseViewHolder, ItemBean ItemBean) {
//设置item 显示数据的地方
}
// 删除动画
public void removeData(final int position) {
ObjectAnimator scaleX = ObjectAnimator.ofFloat(itemList.get(position), "TranslationX", 0, 1000);
scaleX.setDuration(500);
scaleX.start();
scaleX.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationCancel(Animator animation) {
super.onAnimationCancel(animation);
//删除数据
notifyItemRemoved(position);
//如果不是按照顺序删除就需要整体刷新
// notifyDataSetChanged();
}
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
//删除数据
notifyItemRemoved(position);
//如果不是按照顺序删除就需要整体刷新
// notifyDataSetChanged();
}
});
}
}
2. 外部只需要调用Adapter 的removeData 方法就可以删除数据,并显示动画效果
MyAdapter.removeData(itemCount);
就是这么简单的实现删除动画效果。
BRVAH库添加动画的具体实现方法 BaseRecyclerAdapter之添加动画(策略模式),详细讲解在哪添加动画、控制动画执行次数等内容。