Android App开发中RecyclerView控件的基本使用教程

2019-12-10 18:28:08王振洲

Android,App开发,RecyclerView

如果是GridLayoutManager呢?动画效果为:

Android,App开发,RecyclerView

注意,这里更新数据集不是用adapter.notifyDataSetChanged()而是 
notifyItemInserted(position)与notifyItemRemoved(position) 
否则没有动画效果。 
上述为adapter中添加了两个方法:

public void addData(int position) {
    mDatas.add(position, "Insert One");
    notifyItemInserted(position);
  }

  public void removeData(int position) {
      mDatas.remove(position);
    notifyItemRemoved(position);
  }

Activity中点击MenuItem触发:

  @Override
  public boolean onCreateOptionsMenu(Menu menu)
  {
    getMenuInflater().inflate(R.menu.main, menu);
    return super.onCreateOptionsMenu(menu);
  }

  @Override
  public boolean onOptionsItemSelected(MenuItem item)
  {
    switch (item.getItemId())
    {
    case R.id.id_action_add:
      mAdapter.addData(1);
      break;
    case R.id.id_action_delete:
      mAdapter.removeData(1);
      break;
    }
    return true;
  }

好了,到这我对这个控件已经不是一般的喜欢了~~~

当然了只提供了一种动画,那么我们肯定可以去自定义各种nice的动画效果。 
高兴的是,github上已经有很多类似的项目了,这里我们直接引用下:RecyclerViewItemAnimators,大家自己下载查看。