Android--Demo_PullToRefresh(基础篇)
来源:互联网 发布:重庆行知教育集团 编辑:程序博客网 时间:2024/04/30 10:16
转载请声明地址:http://blog.csdn.net/skyunicorn/article/details/51671234
PullTorefresh下载地址:https://github.com/chrisbanes/Android-PullToRefresh
Demo_PullToRefresh(进阶篇)
Demo_PullToRefresh(特效篇)
一、导包
导入项目“PullToRefresh”
File-->New-->Import Module
找到文件然后Finish
然后目录是这样的
在app下的build中添加
compile project(':PullToRefresh') //pulltorefresh
然后就可以使用了
二、使用(基础篇)
以ListView为例(只写主要代码,其他的请下载Demo自己看吧):
在布局中添加
<com.handmark.pulltorefresh.library.PullToRefreshListView android:id="@+id/pull_to_refresh" android:layout_width="match_parent" android:layout_height="match_parent" />
这是默认的最基本的样式(自定义样式后面讲)
代码中添加代码获取到PullTorefresh中的ListView
mPullToRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_to_refresh);lv = mPullToRefreshListView.getRefreshableView();//获取listview
然后具体使用和平时我们用的listView是一样的(适配器大家自己写了)。
private void initRefresh(){ /* * Mode.BOTH:同时支持上拉下拉 * Mode.PULL_FROM_START:只支持下拉Pulling Down * Mode.PULL_FROM_END:只支持上拉Pulling Up * Mode.DISABLED:禁用下拉刷新和上拉加载 * Mode.MANUAL_REFRESH_ONLY:只允许手动触发 */ /* * 如果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()方法. * 我一般用OnRefreshListener2,因为分工比较清楚 */ mPullToRefreshListView.setMode(PullToRefreshBase.Mode.BOTH); /* * getLoadingLayoutProxy(final boolean includeStart, final boolean includeEnd) * 用于指定显示的标签,第一个是改变头部,第二个是改变底部 */ ILoadingLayout startLoading = mPullToRefreshListView.getLoadingLayoutProxy( true, false); startLoading.setPullLabel("下拉刷新");// 刚下拉时显示的提示 startLoading.setRefreshingLabel("拼命刷新中...");// 刷新时显示的提示 startLoading.setReleaseLabel("释放即可刷新");// 下拉达到一定距离时显示的提示 ILoadingLayout endLoading = mPullToRefreshListView.getLoadingLayoutProxy(false, true); endLoading.setPullLabel("上拉加载更多");// 刚上拉时显示的提示 endLoading.setRefreshingLabel("拼命加载中...");// 加载时的提示 endLoading.setReleaseLabel("释放即可加载");// 上拉达到一定距离时显示的提示 mPullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { // 下拉刷新 @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) { // 设置一秒后停止刷新(本地设置假数据,时间太短,会导致数据更新后,依旧显示刷新中) mPullToRefreshListView.postDelayed(new Runnable() { @Override public void run() { // 停止刷新 mPullToRefreshListView.onRefreshComplete(); // 加载数据 initDownLv(); // 刷新适配器中的数据 myAdapter.notifyDataSetChanged(); } }, 1000); } // 上拉加载更多 @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) { // 设置一秒后停止刷新(本地设置假数据,时间太短,会导致数据更新后,依旧显示刷新中) mPullToRefreshListView.postDelayed(new Runnable() { @Override public void run() { // 停止刷新 mPullToRefreshListView.onRefreshComplete(); // 加载数据 initUpLv(); // 刷新适配器中的数据 myAdapter.notifyDataSetChanged(); } }, 1000); } });}
最后我们来看看成果:
这就是基本达到我们需要的要求了。
Demo地址:http://download.csdn.net/detail/skyunicorn/9549164
0 0
- Android--Demo_PullToRefresh(基础篇)
- Android--Demo_PullToRefresh(进阶篇)
- Android--Demo_PullToRefresh(特效篇)
- Android测试(基础篇)
- android基础篇------------java基础(8)(异常处理)
- android基础篇------------java基础(9)(集合的操作)
- android基础篇------------java基础(4) (面向对象程序设计)
- android基础篇------------java基础(10)(File工具类)
- android基础篇------------java基础(10)(IO)
- android基础篇------------java基础(12)(多线程操作)
- Android蓝牙篇:(一)基础篇
- android(基础篇)——画图
- android学习笔记一(基础篇)
- Android开发基础篇(1)-----Button
- Android开发笔记--基础篇(二)
- Android自定义View基础篇(一)
- 备战Android实习(计算机基础篇)
- Android自定义View基础篇(二)
- 解决升级Xcode后VVDocumenter无效
- 使用Instruments中的Leaks检测内存泄露
- 归并排序
- UIWebView的文本读取
- Android 中Toast工具类
- Android--Demo_PullToRefresh(基础篇)
- asp.net Framework 与 asp.net core 知识
- 使用pl/sql来调用java
- 【iOS开发】Foreign famous blogs
- Android 判断View是否被遮挡
- 第14周项目 2—数组类模板
- 在raspberry运行xibo
- weblogic解决Jar包冲突
- LeetCode-155.Min Stack