RecyclerView的使用总结

1.为什么用 RecyclerView 而不用listview

有三种布局管理器,
- LinerLayoutManager 以垂直或者水平列表方式展示Item
- GridLayoutManager 以网格方式展示Item
- StaggeredGridLayoutManager 以瀑布流方式展示Item

RecyclerView既可以实现横着的列表也可以实现纵着的列表,还可以实现瀑布流的效果

2.和listview有什么区别

[脑图链接](http://naotu.baidu.com/file/b13cb677b705a164685cf3eafb365e75?token=7c6f8b3c45ce96fd
)

1.劣势

1.item点击事件

在viewhoder里添加点击事件

2.设置header

设置的原理就是根据返回view的不同类型来增加header或footer

第一种方式:数据适配的adpter不变,在外面套上一层包含设置header的对象。当给列表设置适配器时,使用外面包装的adpter。
github地址如下

第二种方法:

github地址如下

3.不能设定固定的滚动位置

2.优势

自定义item动画

在添加或删除了数据后,RecyclerView 还提供了一个默认的动画效果,来改变显示。
DefaultItemAnimator 或直接继承这个类,实现自己的动画效果,并调用recyclerview.setItemAnimator(new DefaultItemAnimator());

局部刷新

notifyItemInserted(index);
 notifyItemRemoved(position)
 notifyItemChanged(position)

recyclerview详解

视频资料

3.如何使用

1.设置布局管理器

RecyclerView recyclerView =(RecyclerView) getView().findViewById(R.id.recycle_view);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

//第二种方式
recyclerview.setLayoutManager(new LinearLayoutManager(
this, LinearLayoutManager.VERTICAL, false));

RecyclerView实现瀑布流

recycler.setLayoutManager(new StaggeredGridLayoutManager(2, VERTICAL))

其中 StaggeredGridLayoutManager 第一个参数表示列数,就好像 GridView 的列数一样,第二个参数表示方向,可以很方便的实现横向滚动或者纵向滚动。

2.设置adpter

4.界面item复用原理

1.recyclecew有两级缓存,缓存的内容与listview不同,是hoder。不在界面显示的view会移动到cache结构里。cache结构里的数据会移动到一个pool里。

2.一个应用不同的recycleview会共享pool里的hoder,这也是为什么recycleview的hoder都有一个共同的父类。

3.默认cache有2对象。pool里5个对象。

5.列表的分页

==========

分页加载,装饰模式

分页加载,比较靠谱

RecyclerView实现瀑布流布局

Listview和RecycleView的简单比较

RecycleView就一定比listView好用吗?(listView篇)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值