XListView—Android开源项目
来源:互联网 发布:火爆网络的ann艳照 编辑:程序博客网 时间:2024/06/03 15:13
Android开源项目-XListView
XListView是一个含有下拉刷新、上拉加载功能的Android开源项目。特点是代码量极少(只有3个java文件和2个xml文件即可实现),虽然功能较为单一,但是在项目开发中很实用。并且由于代码量小,可以很轻松的理解下拉刷新和下拉加载的源码机制,并加以自定制。
1 源码地址
最基础的XListView是:
https://github.com/Maxwin-z/XListView-Android
其中有一个fork库完善下拉刷新上拉加载更多的功能并实现自动刷新以及自动加载等功能, 并增加对ScrollView的支持。建议直接使用这个即可。本文即使用该库。
https://github.com/MarkMjw/PullToRefresh
2 使用步骤
下载源码后。
核心代码是XListView.java XHearderView.java XFooterView.java三个文件。(其中还有涉及一些资源文件)
具体怎么使用可以直接参考XListViewActivity.java这个activity。
代码使用示例:
样式截图:
3 关键源码解析
3.1 XListView 主要功能
- 监听滑动位置,根据位置坐标计算是否上拉或者下拉,操作XHearderView和XFotterView的状态
- 对外提供接口监听onRefresh、onLoadMore
3.2 XHeaderView 主要功能
- 下拉刷新时下图部分的样式状态更新,可以根据需要自定制
3.3 XFooterView 主要功能
- 上拉加载更多时下图部分的样式状态更新,可以根据需要自定制
3.4 具体关键代码解析
XListView:
监听onTouch事件,当拉到listview的首个单元的时候并继续向下拉的时候,如果不松手,则XHearderView会动态设置拉高整个headview高度,这样就实现了可以不松手一直向下拉的效果。向上拉加载更多同理。
当松手时,判断如果listview当前位置是首个单元时,判断headerview的高度,如果大于指定的高度,即认为触发下拉刷新。调用onRefresh接口,并且将headerview设置为loading样式状态。想上拉加载更多同理。
以上即上拉下拉的核心算法。至于其他设置监听函数、设置是否开启上拉下拉功能、XHeaderView、XFooterView各个状态的样式都是可以自定制。
4 总结
XListView这个开源库虽然功能单一,但是现实项目开发中大部分上拉下拉的listview这个都可以实现。
并且由于代码简答,无论对于新手极易上手还是对于老手自定义样式和扩充功能都是极好的。强烈推荐!!!
- XListView—Android开源项目
- Android开源项目-XListView
- android-xlistView下拉刷新的listview(开源项目)
- 咨询项目实战——xlistview,侧拉菜单
- android XListView使用详解
- XListView开源框架的使用
- Android——Xlistview上拉刷新下拉加载
- Android (项目一)xListView 的使用及ProgressBar样式修改
- XListView 配置文件 需导入项目 类名:XListView
- XListView
- XListView
- Xlistview
- XListView
- xListView
- XListView
- xlistview
- xListView
- XlistView
- 学习笔记_003
- System.currentTimeMillis();获取计算机的当前时间。
- 用于单分支控制的条件语句
- JUC基础概述
- hdoj 3535 AreYouBusy(混合背包)
- XListView—Android开源项目
- 四大组件之contentProvider内容监听者
- 94. Binary Tree Inorder Traversal
- 基础算法 之 BFS & DFS
- ios-__autoreleasing修饰符
- 【其他】我整理了一个书单
- PHP操作mongo数据库
- Hadoop与Spark算法分析(三)——矩阵乘法
- 《零基础入门学习Python》学习笔记1