上图中演示了三种不同的布局和丅拉效果三种布局和三种下拉效果可以通过Header的设置任意组合。
图中普通列表是ListView样式没有设置Header和Footer,使用默认的下拉刷新和上拉加载 宫格列表使用的是自定义Header和Footer的下拉刷新和上拉上拉加载,并设置了下拉使放大的图片 瀑布流列表使用的是自定义Header和Footer的下拉刷新和上拉上拉加载,没有设置了下拉使放大的图片使用默认的刷新动画。
Eclipse的同学们可以自己下载源码拷贝java文件到自己的工程(别忘了引用recyclerview刷新的包哦) 代码中的配置参考下面的用法代码片段,除了recyclerview刷新自带的方法其他方法都是可选的。
根据列表的不同效果选择不同的布局管理器:
// 使用重写后的线性布局管理器 // 使用重写后的格子布局管理器 // 使用重写后的瀑布流布局管理器
根据不同的布局管理器设置分割线:
// 设置列表咘局的分割线 // 设置网格或者瀑布流布局的分割线
// 添加头部和脚部如果不添加就使用默认的头部和脚部(头部可以有多个) // 设置下拉时拉伸的图片,不设置就使用默认的
// 设置刷新动画的颜色(可选) // 设置头部恢复动画的执行时间默认500毫秒(可选) // 设置拉伸到最高时头部的透明度,默认0.5f(可选) // 设置刷新和加载更多数据的监听分别在onRefresh()和onLoadMore()方法中执行刷新和加载更多操作 // 开启线程刷新数据 // 开启线加载更多数据
洳果想第一次进入界面时就显示加载数据的动画,需要使用手动刷新的方法此方法需要在其他设置完成后调用,具体使用可以看这里
在刷新和加载过更多完成之后调用代码停止动画:
// 刷新完成后调用必须在UI线程中 // 或者 刷新完成后调用,必须在UI线程中 // 加载更多完成后调用必须在UI线程中
如果不想使用自带的刷新效果,而想要使用SwipRefreshLayout做刷新可使用以下代码禁止自带的刷新效果