SwipeRefreshLayout是谷歌官方推出的一个下拉刷新布局,经常与listview、recyclerview等配合使用,实现下拉刷新数据的效果。
使用方法:
①layout.xml中
引入SwipeRefreshLayout布局,在里面添加你想刷新的控件或布局。例如下图:
②activity中实例化SwipeRefreshLayout,这个就不用多说了。
③常见的几个函数
mSwipeRefreshLayout.setRefreshing(false); //用来控制刷新圆圈的显示与消失 mSwipeRefreshLayout.setColorSchemeResources(R.color.colorAccent); //设置刷新圆圈中箭头的颜色,也可以填充多个颜色实现拼色效果,例如 mSwipeRefreshLayout.setColorSchemeResources(R.color.colorAccent,R.color.colorPrimary,R.color.colorPrimaryDark); mSwipeRefreshLayout.setProgressBackgroundColorSchemeResource(android.R.color.white); //设置刷新圆圈的背景颜色 mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { //do something } }); //设置下拉刷新时的监听器,在重写的onRefresh方法中实现操作④实现延时消失效果
mSwipeRefreshLayout.setRefreshing(true); //do something Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { mSwipeRefreshLayout.setRefreshing(false); } }, 500);先显示刷新圆圈,然后执行操作,之后使用handler实现延时操作来使刷新圆圈在500毫秒后消失(当然,也可以不延时操作)。
最后实现效果如下图: