https://www.jianshu.com/p/b0cf96b592a5
介绍:
一个实现了下拉刷新,滚动到底部加载更多以及添加header功能的的RecyclerView。使用方式和RecyclerView完全一致,不需要额外的layout,不需要写特殊的adater。 加载效果内置了AVLoadingIndicatorView上的所有效果,可以根据需要指定。
运行效果:
![](https://i-blog.csdnimg.cn/blog_migrate/176196f7b644aed186c79884810b3bf2.png)
- //初始化布局管理器
- private void intitView() {
- //LinearLayoutManager布局样式
- LinearLayoutManager manager = new LinearLayoutManager(this);
- // GridLayoutManager布局样式
- // GridLayoutManager manager = new GridLayoutManager(this, 2);
- //设置样式
- xRecyclerView.setLayoutManager(manager);
- //想要添加分割线,必须要写上这行代码
- xRecyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
- //允许加载
- xRecyclerView.setLoadingMoreEnabled(true);
- //允许刷新
- xRecyclerView.setPullRefreshEnabled(true);
- //加载样式(加载进度的小圆圈)
-
xrey.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader);
- xRecyclerView.setLoadingMoreProgressStyle(ProgressStyle.Pacman);
- xRecyclerView.setLoadingListener(new XRecyclerView.LoadingListener() {
- //下拉刷新
- @Override
- public void onRefresh() {
- handler.postDelayed(new Runnable() {
- @Override
- public void run() {
- // flag = true;
- type ++;
- OkUrl();
- //刷新适配器
- // adapter.notifyDataSetChanged();
- //刷新完成
- xRecyclerView.refreshComplete();
- }
- },3000);
- }
- //加载更多
- @Override
- public void onLoadMore() {
- handler.postDelayed(new Runnable() {
- @Override
- public void run() {
- // flag = false;
- type ++;
- OkUrl();
- //刷新适配器
- // adapter.notifyDataSetChanged();
- //刷新完成
- xRecyclerView.refreshComplete();
- }
- },3000);
- }
- });
- }
compile 'com.jcodecraeer:xrecyclerview:1.5.2'