类名SwipeRefreshAndLoadingLayout,还在进一步测试中,暂未加入开源库。
从SwipeRefreshLayout改进而来,具有SwipeRefreshLayout控件的所有属性和方法。
1、SwipeRefreshLayout 的常用方法##
//设置旋转进度条的颜色,手指下滑过程中显示第一个颜色,手指松开后会在所有颜色总循环渐变切换
mBinding.swipeRefreshAndLoadingLayout.setColorSchemeColors(0xffff0000, 0xff00ff00, 0xff0000ff, 0xffffff00, 0xff00ffff);
// mBinding.swipeRefreshAndLoadingLayout.setColorSchemeResources();//如果是资源id,则使用该方法
//设置指示器大小,只有默认(DEFAULT)和大号(LARGE)
mBinding.swipeRefreshAndLoadingLayout.setSize(SwipeRefreshAndLoadingLayout.LARGE);
//触发刷新的距离(手指下滑的距离)
mBinding.swipeRefreshAndLoadingLayout.setDistanceToTriggerSync(800);
//设置指示器背景颜色
mBinding.swipeRefreshAndLoadingLayout.setProgressBackgroundColorSchemeColor(0xffff00ff);
// scale:指示器是否缩放, start:指示器出现时的位置 , end:手指放开后指示器悬停的位置
mBinding.swipeRefreshAndLoadingLayout.setProgressViewOffset(false, 200, 300);
//和setProgressViewOffset一样
mBinding.swipeRefreshAndLoadingLayout.setProgressViewEndTarget(true, 500);
//设置弹弓距离,可以理解为指示器跟随手指下滑的偏移量
mBinding.swipeRefreshAndLoadingLayout.setSlingshotDistance(400);
2、SwipeRefreshLayout 下拉刷新回调
//下拉结束后背调用
mBinding.swipeRefreshAndLoadingLayout.setOnRefreshListener(() -> {
//在这里请求数据
});
3、收起指示器
//数据请求结束后(不管是否请求到数据),调用该方法收起指示器
mBinding.swipeRefreshAndLoadingLayout.setRefreshing(false);
4、SwipeRefreshAndLoadingLayout 上拉加载回调
//上拉结束后被调用
mBinding.swipeRefreshAndLoadingLayout.setOnLoadingListener(() -> {
//在这里请求数据
});
5、收起指示器
//数据请求结束后,如果请求到数据,则执行这句
mBinding.swipeRefreshAndLoadingLayout.setLoading(false);
//如果没有更多数据了,还需要添加下面这句
mBinding.swipeRefreshAndLoadingLayout.setNoMore(true, "没有更多数据了");
注意:
SwipeRefreshAndLoadingLayout 需要设置上拉或下拉监听器才会有效果
网友评论