开发工具: androidstudio
一、导库
在build.gradle中导入
implementation “androidx.swiperefreshlayout:swiperefreshlayout:1.0.0”
二、相关方法
1、setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener):设置手势滑动监听器。
2、setProgressBackgroundColor(int colorRes):设置进度圈的背景色。
3、setColorSchemeResources(int… colorResIds):设置进度圈动画的颜色,可以多种颜色,循环显示。
4、setRefreshing(Boolean refreshing):设置组件的刷洗状态。
5、setSize(int size):设置进度圈的大小,只有两个值:DEFAULT、LARGE
三、xml布局中使用
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/SwipeRefreshLayout"
android:layout_width="100dp"
android:layout_height="100dp"
>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="100dp"
android:layout_height="100dp"
/>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
四、java代码中使用
SwipeRefreshLayout mSwipeRefreshLayout= findViewById(R.id.SwipeRefreshLayout);
//设置颜色资源
mSwipeRefreshLayout.setColorSchemeResources(R.color.red,R.color.black);
//设置圆圈大小
mSwipeRefreshLayout.setSize(SwipeRefreshLayout.DEFAULT);
//小圆圈背景色不设置默认白色背景
mSwipeRefreshLayout.setProgressBackgroundColor(R.color.red);
//初始化下拉刷新
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
//下拉刷新的数据请求处理,可以放在子线程。
......
runOnUiThread(new Runnable() { //刷新以后转换UI线程
@Override
public void run() {
mSwipeRefreshLayout.setRefreshing(false);加载数据完成。下拉时自动加载进度圈,在这取消,不然一直转。
Adapter.notifyDataSetChanged(); //数据更新
}
});
//
}
});