MD UI设计之SwipeRefreshLayout
程序员文章站
2022-04-20 08:29:32
...
SwipeRefreshLayout
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毫秒后消失(当然,也可以不延时操作)。
最后实现效果如下图: