判断listview 各种滑动状态
2016-06-24 10:09
274 查看
/** scrollState有三种状态,分别是SCROLL_STATE_IDLE、SCROLL_STATE_TOUCH_SCROLL、SCROLL_STATE_FLING
SCROLL_STATE_IDLE是当屏幕停止滚动时
SCROLL_STATE_TOUCH_SCROLL是当用户在以触屏方式滚动屏幕并且手指仍然还在屏幕上时
SCROLL_STATE_FLING是当用户由于之前划动屏幕并抬起手指,屏产生惯性滑动时*/
private boolean scrollFlag = false;// 标记是否滑动
private int lastVisibleItemPosition;// 标记上次滑动位置
/** scrollState有三种状态,分别是SCROLL_STATE_IDLE、SCROLL_STATE_TOUCH_SCROLL、SCROLL_STATE_FLING
SCROLL_STATE_IDLE是当屏幕停止滚动时
SCROLL_STATE_TOUCH_SCROLL是当用户在以触屏方式滚动屏幕并且手指仍然还在屏幕上时
SCROLL_STATE_FLING是当用户由于之前划动屏幕并抬起手指,屏产生惯性滑动时*/
private boolean scrollFlag = false;// 标记是否滑动
private int lastVisibleItemPosition;// 标记上次滑动位置
listView.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) { case SCROLL_STATE_TOUCH_SCROLL: scrollFlag = true; break; case SCROLL_STATE_FLING: scrollFlag = false; break; case SCROLL_STATE_IDLE: scrollFlag = false; break; default: break; } } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if (scrollFlag) { if (firstVisibleItem > lastVisibleItemPosition) {//上滑 } if (firstVisibleItem < lastVisibleItemPosition) {//下滑 } if (firstVisibleItem == lastVisibleItemPosition) { return; } lastVisibleItemPosition = firstVisibleItem; } } });
相关文章推荐
- java 绘制数值计算云图
- CentOS 7运维管理笔记(1)----设置默认启动模式为GUI模式或命令行模式
- ubuntu设置静态ip
- 教你用Cognos Analytics实现数据的可视化
- easyui的基本用法
- 一份React-Native学习指南-感谢分享
- chmod -R o+rX /data
- 基于zookeeper、连接池、Failover/LoadBalance等改造Thrift 服务化
- python 3.2 错误 ‘generator’ object has no attribute ‘next’
- C++拷贝构造函数——深拷贝/浅拷贝
- 主成分分析PCA
- SSIS Passing Parameters to an ADO .NET Source query;向ado.net数据源传递参数。
- Java开源xml操作类库
- 技术和音乐
- Flask推荐
- ZSH出现问题:corrupt history file /home/XXX/.zsh_history
- android 安装提示 app not installed the package appears to be corrupt
- CSS单/多行文本溢出部分显示省略号
- scala集合
- 17款免费的Bootstrap后台管理模板集合