RecyclerView是什么
Android 5.0推出了材料设计的设计概念
5.0之后最显著的一个特点是 圆角 和 阴影
5.0中的阴影效果实际上是一个结果,导致出现阴影的真正原因是 海拔(Elevation)
最经典的一个控件,RecyclerView
RecyclerView是5.0正式推出的,然后官方推出的是兼容包,兼容到 V7(Android 2.1)
RecyclerView有什么优点
RecyclerView是一个比ListView更加灵活,更加高效的适配器类型控件,RecyclerView的显示是通过布局管理器控制的
RecyclerView怎么用
RecyclerView的基本使用
* ① 导入RecyclerView
* ② 在xml布局中声明,在java中进行实例化
* ③ 为RecyclerView设置布局管理器
* ④ 为RecyclerView绑定适配器
*
* RecyclerView 是通过LayoutManager进行控制的,RecyclerView默认提供了三种布局管理器
* ① LinearLayoutManager 线性布局管理器 横向和纵向的ListView
* ② GridLayoutManager 表格布局管理器,GridView效果
* ③ StaggeredGridLayoutManager 瀑布流布局管理器,参差不齐的item,瀑布流效果
*
- 获取布局管理器
// 为RecyclerView设置布局管理器 线性布局管理器 ListView效果
// LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL
// , true);
// LinearLayoutManager layoutManager = new LinearLayoutManager(this);
// 表格布局管理器 GridView效果
// GridLayoutManager layoutManager = new GridLayoutManager(this, 2);
// 瀑布流布局管理器 参差不齐效果
StaggeredGridLayoutManager layoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);` 设置下划线和动画
https://blog.csdn.net/hxltech/article/details/52117604https://www.jianshu.com/p/2a82b0341138
//设置Adapter
recyclerView.setAdapter(recycleAdapter);
//设置分隔线
recyclerView.addItemDecoration( new DividerGridItemDecoration(this ));
//设置增加或删除条目的动画
recyclerView.setItemAnimator( new DefaultItemAnimator());适配器
a) onCreateViewHolder()
这个方法主要生成为每个Item inflater出一个View,但是该方法返回的是一个ViewHolder。该方法把View直接封装在ViewHolder中,然后我们面向的是ViewHolder这个实例,当然这个ViewHolder需要我们自己去编写。直接省去了当初的convertView.setTag(holder)和convertView.getTag()这些繁琐的步骤。b) onBindViewHolder()
这个方法主要用于适配渲染数据到View中。方法提供给你了一viewHolder而不是原来的convertView。c) getItemCount()
这个方法就类似于BaseAdapter的getCount方法了,即总共有多少个条目。
RecyclerView特别注意什么
RecyclerView在实现复用的时候,将点击事件丢失了
RecyclerView的适配器实现了差量更新,只需我们在数据变化的时候,通知指定位置的数据发生改变,
RecyclerView提供了默认的动画系统
RecyclerView的多布局
0。getItemViewType()返回布局id
1。数据源要有一个布局id的字段
2。ViewHolder 持有所有的view控件
3。getItemViewType根据返回布局id返回相应布局给onBindViewHolder
RecyclerView的加载刷新
RecyclerView结合PullToRefresh使用工具类