Android_RecyclerView BRVAH 添加删除 item 动画

BaseRecyclerViewAdapterHelper

我是使用第三方 BaseRecyclerViewAdapterHelper 作为RecyclerView的 adapter。
直达 BaseRecyclerViewAdapterHelper 库

先看效果

item删除.gif
  1. 首先BRVAH这个库已经支持了加载动画,使用起来很方便,实现加载动画的具体方法在这里 ,加载动画默认提供5种方法(渐显、缩放、从下到上,从左到右、从右到左),当然也支持自定义的动画效果。

  2. 添加删除动画也很简单

1. 在Adapter 中添加删除动画,执行清理数据的操作

  public class MyAdapter extends BaseQuickAdapter {
      private final Resources resources;
      List itemList = new ArrayList();
      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之添加动画(策略模式),详细讲解在哪添加动画、控制动画执行次数等内容。

你可能感兴趣的:(Android_RecyclerView BRVAH 添加删除 item 动画)