概要
试了很多第三方的下拉刷新不是效果不好看 就是有bug,最后还是决定用官方的下拉刷新,但是官方的默认不支持进入页面立即刷新,所以我们可以用官方的并对其扩展
官方原版的用法
XML
1 | <android.support.v4.widget.SwipeRefreshLayout |
代码中
1 | //定义变量 |
实现SwipeRefreshLayout.OnRefreshListener
接口
添加回调方法
1 |
|
初始化
1 | //下拉刷新 |
如上loadData()
来加载数据,加载结束后记得调用下面的方法停止刷新动画
1 | mSwipeLayout.setRefreshing(false); |
进入页面立即刷新
但是我们想做到一进页面就立刻刷新,并有刷新动画怎么办
首先添加一个类
1 | public class AutoSwipeRefreshLayout extends SwipeRefreshLayout { |
然后XML改为
1 | <cn.psvmc.swiperefreshlayout.AutoSwipeRefreshLayout |
对应的java代码中的SwipeRefreshLayout
都换成 AutoSwipeRefreshLayout
页面加载后调用mSwipeLayout.autoRefresh()
就可以了
但是立即执行mSwipeLayout.autoRefresh()
在效果上不是很流畅 所以我用了消息机制 延迟发送消息 就好了
1 | //定义消息常量 |