PullToRefresh的实现上拉刷新下拉加载
来源:互联网 发布:店铺淘宝客2.0 编辑:程序博客网 时间:2024/06/05 08: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)
关联到当前的应用...添加依赖
1.2 直接在build.gradle中文件中添加 compile 'com.github.userswlwork:pull-to-refresh:1.0.0'
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实现下拉刷新和上拉加载
- Django框架全面讲解 -- 跨站请求伪造(csrf)
- python selenium+phontomjs的详细用法及简单案例
- qt中在主窗口添加一个部件
- jquery写的树状列表插件-alvintree
- 几个常用算法的适应场景及其优缺点
- PullToRefresh的实现上拉刷新下拉加载
- 算法爱好者——算法题:乱序字符串 ? 待解决
- u-boot的boot命令
- centos6.4安装Redis
- Telegram实现判断目标手机号是否注册
- php基础语法总结-1
- 使用Spring Security实现权限管理
- 七夕节
- 机器学习之线性回归的最小二乘法求解