PullToRefresh的实现上拉刷新下拉加载
来源:互联网 发布:js bind()方法 编辑:程序博客网 时间:2024/06/05 10:54
github上开源:https://github.com/chrisbanes/Android-PullToRefresh
参考博客:http://www.cnblogs.com/qifengshi/p/5060827.html
1.pullToRefresh的导入
点击new按钮 -> import Module.....库文件
导入的时候编译完成可能会报错,,,,,buildToolsVersion "19.1.0"...compileSdkVersion 16
所以需要下载19版本的buildTools,,,16版本的sdk(自动下载Android SDK Build-Tools 19.1)
关联到当前的应用...添加依赖
2.查看库中的代码,,,,pullToRefresh支持下列的刷新
PullToRefreshExpandableListView可刷新的二级列表
PullToRefreshGridView可以刷新的GridView
PullToRefreshListView支持listVIEW的刷新
PullToRefreshWebView可以刷新的WebView
PullToRefreshScrollView可以刷新的scrollView
XlistView只支持listView的刷新
3.使用步骤
1.在布局页面中添加组件,需要使用全类名,没有提示
<!--
ptr:ptrDrawable="@drawable/default_ptr_flip":刷新时显示的图片
ptr:ptrAnimationStyle="flip":刷新的图片以何种方式显示出来
ptr:ptrHeaderBackground="#383838":刷新时头部的布局
ptr:ptrHeaderTextColor="#FFFFFF":刷新时头部字体的颜色
xmlns:ptr="http://schemas.android.com/apk/res-auto"
-->
<com.handmark.pulltorefresh.library.PullToRefreshListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/pull_lv"
ptr:ptrDrawable="@drawable/default_ptr_flip"
ptr:ptrAnimationStyle="flip"
ptr:ptrHeaderBackground="#383838"
ptr:ptrHeaderTextColor="#FFFFFF" >
</com.handmark.pulltorefresh.library.PullToRefreshListView>
2.在代码中设置相关属性及监听事件
//设置刷新模式 ,both代表支持上拉和下拉,pull_from_end代表上拉,pull_from_start代表下拉
pullToRefreshListView.setMode(PullToRefreshBase.Mode.BOTH);
/*这里通过getLoadingLayoutProxy 方法来指定上拉和下拉时显示的状态的区别,第一个true 代表下来状态 ,第二个true 代表上拉的状态
如果想区分上拉和下拉状态的不同,可以分别设置*/
ILoadingLayout startLabels = pullToRefreshListView.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("下拉刷新");
startLabels.setRefreshingLabel("正在拉");
startLabels.setReleaseLabel("放开刷新");
ILoadingLayout endLabels = pullToRefreshListView.getLoadingLayoutProxy(false, true);
endLabels.setPullLabel("上拉刷新");
endLabels.setRefreshingLabel("正在载入...");
endLabels.setReleaseLabel("放开刷新...");
/*如果Mode设置成Mode.BOTH,需要设置刷新Listener为OnRefreshListener2,并实现onPullDownToRefresh()、onPullUpToRefresh()两个方法。
如果Mode设置成Mode.PULL_FROM_START或Mode.PULL_FROM_END,需要设置刷新Listener为OnRefreshListener,同时实现onRefresh()方法。
当然也可以设置为OnRefreshListener2,但是Mode.PULL_FROM_START的时候只调用onPullDownToRefresh()方法,Mode.PULL_FROM_END的时候只调用onPullUpToRefresh()方法.
加载数据完成后 必须 调用下 onRefreshComplete() 完成关闭 header,footer视图
*/
pullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {//下拉刷新的回调
//下拉刷新的数据,显示在listview列表的最上面
addtoTop();
myHandler.postDelayed(new Runnable() {
@Override
public void run() {
//刷新完成,必须在异步下完成
pullToRefreshListView.onRefreshComplete();
//刷新适配器
setAdapter();
}
},1000);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {//上拉加载的回调
//加载更多的数据,添加到集合列表的最后面
addtoBottom();
myHandler.postDelayed(new Runnable() {
@Override
public void run() {
//刷新完成,必须在异步下完成
pullToRefreshListView.onRefreshComplete();
//刷新适配器
setAdapter();
}
},1000);
}
});
阅读全文
0 0
- PullToRefresh实现上拉加载下拉刷新
- PullToRefresh实现上拉加载下拉刷新
- PullToRefresh实现下拉刷新上拉加载
- PullToRefresh实现上拉刷新下拉加载
- PullToRefresh实现下拉刷新,,上拉加载
- PullToRefresh的实现上拉刷新下拉加载
- PullToRefresh的实现上拉刷新下拉加载
- PullToRefresh的实现上拉刷新下拉加载
- PullToRefresh的上拉加载下拉刷新
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- PullToRefresh实现下拉刷新和上拉加载
- PullToRefresh实现下拉刷新和上拉加载
- PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- sublime python环境(代码自动补全,调试python脚本等插件
- 业务60TB数据迁移-降本开始!
- 第6章 字符串操作
- css通过width和padding设置元素高度
- 三次聚合、四种算法助力数据治理和数据建模实战
- PullToRefresh的实现上拉刷新下拉加载
- php后台无法保存emoji表情
- 第7章 模式匹配与正则表达式
- linux下用Kazam录屏视频在windows不能播放解决
- 手把手教你搭建AI开发环境 !(附代码、下载地址)
- validate使用笔记
- Groovy快速入门
- NIFI 系统属性 System Properties之Core Properties
- tensorflow+python MNIST数据抽样可视化+前向运算过程