RecyclerView(类似iOS 的collectionView)

RecyclerView 简单介绍

RecyclerView只负责回收和重用的工作,所有关于布局、绘制和其他相关的问题,也就是跟数据展示相关的所有问题,都被委派给了一些”插件化”的类来处理。

以下是RecyclerView中用于数据展示的一些重要的类,他们都是RecyclerView的内部类:

  • Adapter:包装数据集合并且为每个条目创建视图。
  • ViewHolder:保存用于显示每个数据条目的子View。
  • LayoutManager:将每个条目的视图放置于适当的位置。
  • ItemDecoration:在每个条目的视图的周围或上面绘制一些装饰视图。
  • ItemAnimator:在条目被添加、移除或者重排序时添加动画效果。

RecyclerView是谷歌V7包下新增的控件,用来替代ListView的使用,在RecyclerView标准化了ViewHolder类似于ListView中convertView用来做视图缓存

布局管理:设置LayoutManager

使用场景:通过设置LayoutManager来快速实现listview、gridview、瀑布流的效果,而且还可以设置横向和纵向显示

详细使用:

butterknife链接

// 前提:控件初始化
    @BindView(R.id.make_small_recyclerView)
    RecyclerView smallRecycleView;
// 设置布局管理
    smallRecycleView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
// 这里是线性布局,方向水平,可以自定义布局实现复杂的展示~

打造万能适配器

// 设置adapter
smallAdapter = new ImageListShowAdapter(this,R.layout.list_iteam_imagelistshow,modelsArray);
smallRecycleView.setAdapter(smallAdapter);
// 更新数据
smallAdapter.notifyDataSetChanged();
// 删除
modelsArray.remove(position);
smallAdapter.notifyDataSetChanged();
// 添加
modelsArray.add(0,imagePath);
smallAdapter.notifyDataSetChanged();

进阶用法

// item 粘性
// item 添加/删除 动画
// 花式布局:圆形,方形,自定义形状
// 滚动到指定position,带自定义动画

你可能感兴趣的:(RecyclerView(类似iOS 的collectionView))