Android下拉刷新上拉加载控件,对所有View通用!
2016-05-27 16:48
489 查看
关闭
关闭
资讯安全论坛下载读书程序开发数据库系统网络电子书微信学院站长学院QQ手机软件考试
软件开发|web前端|Web开发|移动开发|综合编程|
首页 >
程序开发 >
移动开发 >
Android > 正文
Android下拉刷新上拉加载控件,对所有View通用!
2014-08-28 19 个评论 来源:zhongkejing的专栏
收藏
我要投稿
前面写过一篇关于下拉刷新控件的博客下拉刷新控件终结者:PullToRefreshLayout,后来看到好多人还有上拉加载更多的需求,于是就在前面下拉刷新控件的基础上进行了改进,加了上拉加载的功能。不仅如此,我已经把它改成了对所有View都通用!可以随心所欲使用这两个功能~~
我做了一个大集合的demo,实现了ListView、GridView、ExpandableListView、ScrollView、WebView、ImageView、TextView的下拉刷新和上拉加载。后面会提供demo的下载地址。
依照惯例,下面将会是一大波效果图:
demo首页也是可下拉的ListView,在底下可以加入table:
ListView:
GridView:
ExpandableListView:
ScrollView:
WebView:
ImageView:
TextView:
很不错吧?最后的ImageView和TextView是最简单的,直接在下面的接口方法里返回true。
增加上拉加载很简单,和管理下拉头一样,再多管理一个上拉头,也不费事;至于把它改成通用的就需要统一一下View的行为了,为此,我定义了这样一个接口:
?
1、增加了上拉头,相应的也增加了控制变量。
2、拉动时消除content_view事件防止误触发不再使用反射,直接设置 event.setAction(MotionEvent.ACTION_CANCEL)。
3、消除了拉动过程中的多点触碰导致的剧变。
4、不再设置content_view的onTouListener,让使用者可以更加自由的设置监听器。
这个PullToRefreshLayout只负责管理三个控件,如果一个View需要有上拉下拉功能则只需实现接口就行了。下面看PullToRefreshLayout的代码,注释写了好多:
?
下面看各个View对Pullable接口的实现,ListView和GridView还有ExpandableListView的判断方法是一样的:
PullableListView:
?
?
?
?
?
OK了,整个demo的代码有点多,就不贴了。
源码下载
相关文章推荐
- 自定义ButtonButton
- android studio 开发 cordova plugin(组件)的 helloWorld
- Scroller 学习
- Android签名详解(debug和release)
- Android Studio多渠道快速打包
- android led 驱动
- Android下拉列表spinner的实例代码
- Android自定义RadioGroup
- github上的项目导入Android studio出错(整理)
- <Android> Location Service 分析
- android 设置自定义dialog大小无效果
- Android 性能优化(很好的文章)
- Android中RadioButton样式问题
- android调起QQ聊天,QQ个人资料,QQ群资料
- Android Studio下实现隐藏标题栏和状态栏的闪屏页
- Android Fragment的标准写法
- Android 学习路线总结
- 安卓Transition学习(一)
- android 获取手机电话号码和短信内容
- Android Studio中编译Fresco,NDK安装