哎,最近事真的是多。没有坚持写博客虽然写得差,但还是得坚持写嘛!废话不多说,进入今天的主题。
在Android开发中下拉刷新,上拉加载这个功能是一般商业应用的App中必不可少的一个功能效果。但是对于新手来说,自定义下拉刷新的ListView可能还是会遇到很多的问题。而对于要快速开发的公司来说,可能时间又比较紧张。那么这时候我们就要用到一个开源控件Android-PullToRefresh了。这个开源控件是一款非常优秀的开源控件,可以直接从Github上下载下来直接使用。下载链接地址:https://github.com/chrisbanes/Android-PullToRefresh
使用步骤:
1.进入github上下载PullToRefresh的开源代码和引用包,如下图
2.下载下来解压后,我们会发现里面有extras,library,sample这三个包。这三个包中,我们主要用到的是library这个包。将libarary这个包导入我们的eclipse中,导入后右击该工程找到Properties后点击进入,讲依赖选项勾上用于我们开发工程去使用。如下图:
3.然后,在你要开发的工程中已同样的方式进入,点击Add进行库的依赖。如下图:
做完以上步骤后,我们就可以在项目中使用这个控件了。
在使用之前,我们首先来了解下这个控件里面的一些基本属性:
1.ptr是pullToRefresh的配置属性中添加 xmlns:ptr="http://schemas.android.com/apk/res-auto"。
2.ptr:ptrDrawable="";//这里可以设置自己的上拉下拉图标。
3.ptr:ptrHeaderBackground="";//上拉时底部的背景色,下拉时头部的背景色
4.ptr:ptrHeaderTextColor="";//上拉,下拉时Header,Footer显示的字体颜色
5.ptr:ptrHeaderSubTextColor="";//上拉,下拉Header,Footer中上次刷新时间的颜色
6.ptr:ptrShowIndicator="";//true时会在控件的右上角和右下角出现设置的icon
7.ptr:ptrAnimationStyle="";//显示时候图标的取值 ;flip:翻转;rotate:旋转
8.ptr:ptrRotateDrawableWhilePulling="";//当动画为rotate时,下拉是否旋转
9.ptr:ptrRefreshableViewBackground="";//设置整个控件布局的背景颜色
10.ptr:ptrScrollingWhileRefreshingEnabled="";//刷新的时候是否允许ListView或者GridView滚动。推荐使用true
11.ptr:prtListViewExtrasEnabled="";//决定Header,Footer以何种方式加入PullToRefreshListView.其中为true时,就是以Header的方式加入,在滚动刷新时头部会跟着一起滚动;为false时,就是以Footer的方式加入,在滚动的时候底部会跟着一起滚动。
12.ptr:ptrMode="";//设置是上拉,下拉还是两者都支持.both:两者都支持;disabled:禁用下拉刷新;pullFromStart:仅支持下拉刷新;pullFromEnd:仅支持上拉刷新;manualOnly:只允许手动触发。(注意:如果不在代码设置它默认的就只有下拉刷新)
以上只是一些基本属性:一般你用的什么控件它都包含原有控件的所有属性,如你使用的是PullToRefreshListView那么它里面同样包含ListView的一些属性。同样上面的属性你都可以在代码中去set***使用。
1.下面我们简单的来实现ListView的下拉刷新,直接上代码:
布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.richardli.pulltorefreshdemo.ListViewActivity" >
<com.handmark.pulltorefresh.library.PullToRefreshListView
xmlns:ptr="http://schemas.android.com/apk/res-auto"
android:id="@+id/pull_r