# PullToRefresh
开发者可以使用 `PullToRefresh` 对各种控件实现下拉刷新或者上拉加载以及可以自定义刷新和加载部分的视图。
目前支持:`ScrollView `,`ListView`,`WebView`,`RecyclerView`。
## 版本记录
#### v1.0.3
修复了滑动最小距离判断
#### v1.1.0
新增了空数据,加载中以及网络错误的3种状态页面
#### v1.2.0
1、修复了ypf168326 [issue](https://github.com/823546371/PullToRefresh/issues/2) 并添加了例子
2、修复了刷新加载期间不能滑动的问题
#### v1.2.5
新增自定义不用每次都设置头部和底部demo
#### v1.2.6
1、fix bug <br />
2、新增自动刷新(autoRefresh),禁止刷新(canRefresh)
#### v1.2.7
1、fix issue#9 <br />
## 效果图
<img src = "Screenshot/PullToRefresh.gif" width="600px" />
## 基本用法
### 1、添加 Gradle 依赖
> 目前只支持 Android Studio
``` gradle
compile 'com.jwenfeng.pulltorefresh:library:1.2.7'
```
### 2、布局文件
注意:内容控件 有且只能有一个,目前支持:`ScrollView `,`ListView`,`WebView`,`RecyclerView`。
``` xml
<?xml version="1.0" encoding="utf-8"?>
<com.jwenfeng.library.pulltorefresh.PullToRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- 内容控件 有且只能有一个 -->
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
</ScrollView>
</com.jwenfeng.library.pulltorefresh.PullToRefreshLayout>
```
### 3、在Activity或者Fragment中使用
``` java
pullToRefreshLayout.setRefreshListener(new BaseRefreshListener() {
@Override
public void refresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// 结束刷新
pullToRefreshLayout.finishRefresh();
}
}, 2000);
}
@Override
public void loadMore() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// 结束加载更多
pullToRefreshLayout.finishLoadMore();
}
}, 2000);
}
});
```
### 4、自定义视图
自定义下拉刷新视图需要实现 `HeadView` 接口
``` java
public interface HeadView {
/**
* 开始下拉
*/
void begin();
/**
* 回调的精度,单位为px
*
* @param progress 当前高度
* @param all 总高度
*/
void progress(float progress, float all);
void finishing(float progress, float all);
/**
* 下拉完毕
*/
void loading();
/**
* 看不见的状态
*/
void normal();
/**
* 返回当前视图
* */
View getView();
}
```
具体请参考Demo中 [HeadRefreshView](https://github.com/823546371/PullToRefresh/blob/master/library/src/main/java/com/jwenfeng/library/pulltorefresh/view/HeadRefreshView.java)
上拉加载更多用法和下拉刷新类似,具体参考 [LoadMoreView.java](https://github.com/823546371/PullToRefresh/blob/master/library/src/main/java/com/jwenfeng/library/pulltorefresh/view/LoadMoreView.java)
不用每次都设置头部和底部啦,可以继承PullToRefreshLayout,具体参考 [NormalPullToRefreshLayout](https://github.com/823546371/PullToRefresh/blob/master/app/src/main/java/com/jwenfeng/pulltorefresh/view/NormalPullToRefreshLayout.java)
### 5、其他
可以设置下拉刷新和上拉加载控件的高度和拉取的最大高度,默认为60dp,最大拉取为120dp,可自行设置。
### 6、v1.1.0 新增自定义3中状态页面
#### 截图
<img src = "Screenshot/view01.png" width="600px" />
<img src = "Screenshot/view02.png" width="600px" />
<img src = "Screenshot/view03.png" width="600px" />
#### 用法
###### XML
``` xml
<com.jwenfeng.library.pulltorefresh.PullToRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:view_error="@layout/layout_error"
app:view_empty="@layout/layout_empty"
app:view_loading="@layout/layout_loading">
</com.jwenfeng.library.pulltorefresh.PullToRefreshLayout>
```
app:view_error 网络错误页面
app:view_empty 空数据页面
app:view_loading 加载中页面
该三个属性可以不填写,默认样式为上图所示,可以自定义
###### java用法
``` java
pullToRefreshLayout.showView(ViewStatus.LOADING_STATUS);
```
设置需要显示的视图
``` java
// 获取页面
View error = pullToRefreshLayout.getView(ViewStatus.ERROR_STATUS);
```
获取所需要的视图view
## 注意 一定要在调用了设置相应的视图之后才可以调用获取页面,否则view为空
## License
```
Copyright 2016-2017 jinwenfeng
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
安卓项目实战一个音乐APP(参考网易云)的实现 源码及文档 (2000个子文件)
+C1i32fNH+BHfav4Is9LptW04rw= 10KB
+C1i32fNH+BHfav4Is9LptW04rw= 10KB
+C1i32fNH+BHfav4Is9LptW04rw= 10KB
+C1i32fNH+BHfav4Is9LptW04rw= 10KB
3FM3ftP52vzQkHO54k6xP+D6QK0= 534KB
3FM3ftP52vzQkHO54k6xP+D6QK0= 534KB
3FM3ftP52vzQkHO54k6xP+D6QK0= 534KB
3FM3ftP52vzQkHO54k6xP+D6QK0= 534KB
6fd0EJJIDSodk0yTkjIqcCyL6Lw= 40KB
6fd0EJJIDSodk0yTkjIqcCyL6Lw= 40KB
6fd0EJJIDSodk0yTkjIqcCyL6Lw= 40KB
6fd0EJJIDSodk0yTkjIqcCyL6Lw= 40KB
6zlAnnIPKqXp6+QDenVLxoaGOY8= 180KB
6zlAnnIPKqXp6+QDenVLxoaGOY8= 180KB
6zlAnnIPKqXp6+QDenVLxoaGOY8= 180KB
6zlAnnIPKqXp6+QDenVLxoaGOY8= 180KB
resources-debug.ap_ 15MB
resources-release.ap_ 14.74MB
app-debug.apk 17.06MB
app-release-unsigned.apk 16.36MB
resources-debug.apk 15.04MB
dependencies.apk 1.84MB
slice_2.apk 144KB
slice_3.apk 107KB
app-debug.apk 80KB
slice_0.apk 56KB
slice_5.apk 38KB
slice_4.apk 37KB
slice_6.apk 27KB
slice_8.apk 20KB
slice_7.apk 13KB
slice_9.apk 10KB
slice_1.apk 10KB
AQ0zE6UL7ypIZmAlADL_DbTXwSU= 15MB
bAglEgYzHiCI0pGDozAzgwJXKqs= 15KB
bAglEgYzHiCI0pGDozAzgwJXKqs= 15KB
bAglEgYzHiCI0pGDozAzgwJXKqs= 15KB
bAglEgYzHiCI0pGDozAzgwJXKqs= 15KB
gradlew.bat 2KB
gradlew.bat 2KB
taskHistory.bin 25.84MB
classAnalysis.bin 8.01MB
taskHistory.bin 5.02MB
fileHashes.bin 958KB
jarAnalysis.bin 862KB
taskJars.bin 52KB
resourceHashesCache.bin 22KB
outputFiles.bin 21KB
last-build.bin 1B
BzNYXFvhukrwcpSroOoMtphnao8= 41KB
BzNYXFvhukrwcpSroOoMtphnao8= 41KB
BzNYXFvhukrwcpSroOoMtphnao8= 41KB
BzNYXFvhukrwcpSroOoMtphnao8= 41KB
cKTU9lwG3limSBpBUDg3_0Stf44= 2KB
cKTU9lwG3limSBpBUDg3_0Stf44= 2KB
cKTU9lwG3limSBpBUDg3_0Stf44= 2KB
cKTU9lwG3limSBpBUDg3_0Stf44= 2KB
NewsDetailActivity.class 71KB
NewsDetailActivity.class 71KB
SongListDetailActivity.class 57KB
SongListDetailActivity.class 57KB
PlayerActivity.class 56KB
PlayerActivity.class 56KB
TextViewRoll.class 56KB
TextViewRoll.class 56KB
R$styleable.class 55KB
R$styleable.class 55KB
R$styleable.class 55KB
R$styleable.class 55KB
R$styleable.class 55KB
RecommendSongActivity.class 52KB
RecommendSongActivity.class 52KB
ManageSonglistActivity.class 47KB
ManageSonglistActivity.class 47KB
ImageViewCircle.class 45KB
ImageViewCircle.class 45KB
LoginActivity.class 45KB
LoginActivity.class 45KB
SearchMainActivity.class 44KB
SearchMainActivity.class 44KB
R$styleable.class 42KB
R$styleable.class 42KB
R$styleable.class 42KB
R$styleable.class 42KB
R$styleable.class 42KB
MainActivity.class 42KB
MainActivity.class 42KB
ShareSongActivity.class 41KB
ShareSongActivity.class 41KB
ShareSonglistActivity.class 41KB
ShareSonglistActivity.class 41KB
ShareNewsActivity.class 41KB
ShareNewsActivity.class 41KB
EditSonglistNameActivity.class 39KB
EditSonglistNameActivity.class 39KB
EditSonglistActivity.class 39KB
EditSonglistActivity.class 39KB
FgFriendsFragment.class 38KB
FgFriendsFragment.class 38KB
FgMymusicFragment.class 32KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
梁月哥哥
- 粉丝: 9
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功