PulltoRefresh
项目地址:
jiang111/PulltoRefresh
简介:又一个 android 的刷新库
a library used to pull to refresh & loadmore
usage:
Step 1. Add the JitPack repository to your build file Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
Step 2. Add the dependency
dependencies {
compile 'com.github.jiang111:PulltoRefresh:1.5'
}
demo:
apk 下载地址: https://raw.githubusercontent.com/jiang111/PulltoRefresh/master/app-release.apk
说明:
- 0.图片截取自饿了么 app,如有侵权,请联系删除
- 1.继承 BaseView 并重写相关方法可实现各种效果。可在 PullToRefreshLayout 的实例调用 setHeadView();setFootView()
- 2.可以通过配置高度来决定 Head 或者 Foot 的高度。
PullToRefreshLayout.setHeight(100); //单位为 dp PullToRefreshLayout.setFoot(100);
- 3.通过 setRefresh(boolean); 和 setLoadMore(boolean); 来控制是否可以刷新和加载更多
- 4.调用 autoRefresh(); 可自动下拉刷新
- 5.minSdkVersion -> 15
- 6.理论上支持大部分常用布局,亲测(RecyclerView,ListView)
如何定制 Head 和 Foot 样式
1.直接把项目下载下来。
2.自定义类继承 BaseView,然后重写相关的方法,接着在可在 PullToRefreshLayout 的实例中调用 setHeadView()或者 setFootView(),如果把项目下载下来的话,可以直接替换库中的相关 view
3.BaseView 中需要重写的方法的相关说明:
//注:里面用到的单位都是 px
void begin(); //表示开始滑动
void progress(float progress, float all); //表示滑动的进度 progress 表示当前距离顶部的 px 距离,all 代表整个 px 距离,即默认高度的 2 倍
void finishing(float progress, float all); //和 progress(float progress, float all);一样,该方法在加载完成,开始往回滑动的时候调用,这时候并不会调用 progress();
void loading(); //表示正在加载中... 既 到达加载中默认位置的时候
void normal(); //表示加载完成,或者没有任何操作的时候