判断listview 各种滑动状态
2023-03-07 09:07:45 时间
/** 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;
}
}
});
相关文章
- Atoms 是一个可以让你轻松管理 Linux Chroot 环境的 GUI 工具
- 清理 Ubuntu 系统的四个简单步骤
- 如何优雅地 Hack 用户的代码
- HTTP 的缓存为什么这么设计?
- OpenHarmony设备开发(六)-红外温度传感器
- VSLook: 一款超强大的 VS Code 主题编辑工具
- 聊聊微前端那些事儿
- 让程序员心动的11种新编程语言
- Linux 奇技淫巧:在 Linux 终端中做笔记
- 减少 TS 重复代码,Omit 用起来真香!
- 基于OpenHarmony的智能水质检测系统
- Git如何恢复被搁置的修改记录
- Go 探讨了13年,怎么解决再赋值的坑?
- 可达性分析深度剖析:安全点和安全区域
- 如何用 Shell 轻松搞定 Linux 命令审计
- 不会 find 命令这七种用法!你算啥运维人
- 深度剖析动态线程池的九大场景
- Linux进程是如何创建出来的?
- 我如何使用现场 USB 设备恢复我的 Linux 系统
- JavaScript Object Notation 必知必会