1 什么是RecyclerView
它是一个显示庞大数据集的容器。
2 RecyclerView的小伙伴
第一,LayoutManager
控制RecyclerView的items的排列方式;
布局管理器,通过设置不同的布局管理器,来控制这些Item的排列方式。
RecyclerView提供的布局管理器:
LinearLayoutManager 以垂直或水平滚动列表方式显示项目。
GridLayoutManager 在网格中显示项目。
StaggeredGridLayoutManager 在分散对齐网格中显示项目。
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
第二,适配器
RecyclerView.Adapter
给recycleView提供数据的类,使用方法如下
mRecyclerView.setAdapter(new NormalRecyclerViewAdapter(this));
可以看到数据适配器与BaseAdapter比较发生了相当大的变化,主要有3个方法:
getItemCount() 获取总的条目数
onCreateViewHolder() 创建ViewHolder
onBindViewHolder() 将数据绑定至ViewHolder
第三,控制item的间隔
RecyclerView.ItemDecoration
第四,控制item增删的动画
RecyclerView.ItemAnimator
3 RecyclerView.OnScrollListener
该listener有两个回调方法供使用
onScrollStateChanged()和onScrolled()
3.1 onScrollStateChanged(RecyclerView recyclerView, int newState)方法
recyclerView,当前滚动的view。
newState有三种:
第一,静止没有滚动
第二,被拽着滚动
第三,自动滚动
3.2 onScrolled(RecyclerView recyclerView, int dx, int dy)方法
recyclerView,当前滚动的view
dx,水平滚动的距离,dy,竖直滚动的距离
dx>0,手指向左, dx<0,手指向右
dy>0, 手指向上,dy<0,手指向下