SwipeRefreshLayout自带的刷新动画简洁大方,于是决定用来替换UI的加载动画.可设置setRefreshing(true); 竟然没用.查了下原因是因为页面刚启动还没有测量到动画显示的坐标.
解决办法:
- 第一种常见的:
swipeRefreshLayout.post(new Runnable() {
@Override
public void run() {
swipeRefreshLayout.setRefreshing(true);
}
});
切记:关闭时也使用:
swipeRefreshLayout.post(new Runnable() {
@Override
public void run() {
swipeRefreshLayout.setRefreshing(false);
}
});
- 第二种办法,手动通知SwipeRefreshLayout去测量
swipeRefreshLayout.measure(0,0);
swipeRefreshLayout.setRefreshing(true);