有的时候,我们需要对ListView滚动做一个相应的监听事件,例如:要实现如下图通讯录的功能:

思路为:首先呢,中间那个"路"字为一个TextView,它与ListView采用相对布局的布局风格,当我们滑动ListView的时候

控制其显示,当ListView停止的时候就让其消失。

首先呢,ListView的滚动有三种状态
第一是静止状态,SCROLL_STATE_IDLE
第二是手指滚动状态,SCROLL_STATE_TOUCH_SCROLL
第三是手指不动了,但是屏幕还在滚动状态。SCROLL_STATE_FLING

下面是ListView滚动时的响应代码:

[java] view plaincopy
  1. <span style="font-size:18px">//响应ListView的滚动状态</span>
[java] view plaincopy
  1. <span style="font-size:18px">getListView().setOnScrollListener(new OnScrollListener() {
  2. <span style="white-space:pre">  </span>int listViewScrollState;
  3. /**
  4. * ListView的状态改变时触发
  5. * @param view
  6. * @param scrollState
  7. */
  8. @Override
  9. public void onScrollStateChanged(AbsListView view, int scrollState) {
  10. <span style="white-space:pre">  </span>listViewScrollState = scrollState;
  11. switch(scrollState){
  12. case OnScrollListener.SCROLL_STATE_IDLE://空闲状态
  13. <span style="white-space:pre">  </span>break;
  14. case OnScrollListener.SCROLL_STATE_FLING://滚动状态
  15. break;
  16. case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL://触摸后滚动
  17. break;
  18. }
  19. }
  20. /**
  21. * 正在滚动
  22. * firstVisibleItem第一个Item的位置
  23. * visibleItemCount 可见的Item的数量
  24. * totalItemCount item的总数
  25. */
  26. @Override
  27. public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {
  28. //控制显示和隐藏的代码...
  29. }
  30. });</span>

对ListView滚动状态的监听相关推荐

  1. 安卓网络连接全解:包括网络连接状态的监听、网络数据使用状态的监听、获取当前网络连接情况、启动wifi、获取当前连接wifi的网络情况、扫描wifi热点

    全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓网络连接情况全解:包括网络连接状态的监听.网络数据使用状态的监听.获取当前网络连接情况.启动wifi.获取当前连接wifi的网络情况.扫描wifi ...

  2. android hdmi 监听,对于HDMI设备连接状态的监听

    对与最近主要做的是电视机盒子端的开发,其中涉及到设备的状态监听比较繁琐,所以对HDMI的连接状态的监听方法做个记录,方便后续查看. 主要通过两种方式: (1)比较常用的广播监听 注册一个动态广播来获取 ...

  3. Android之电话状态的监听(来电和去电)

    实现手机电话状态的监听,主要依靠两个类:TelephoneManger和PhoneStateListener. TelephonseManger提供了取得手机基本服务的信息的一种方式.因此应用程序可以 ...

  4. Linphone callState 电话状态的监听状态(二)

    Linphone callState 电话状态的监听状态 callState是一个观察者模式 接着上一篇的说, 这篇主要是涉及到linphone中c层的注册监听机制. 主要是代码追踪和代码过程. li ...

  5. oracle判断侦听状态,oracle 监听状态为BLOCKED

    静态监听的状态是UNKNOWN.当数据库状态是OPEN时,动态监听是READY:当数据库状态是NOMOUNT时,动态监听状态是BLOCKED. LSNRCTL> status Connectin ...

  6. android 软键盘 状态,Android监听软键盘状态

    监听软键盘隐藏或显示,代码如下: /** * 监听软键盘状态 */ private void listenerInput() { final LinearLayout ll_main = (Linea ...

  7. css 鼠标滚动事件,js监听鼠标的滚轮滚动事件教程

    不同的有不同的滚轮事件.主要是有两种,onmousewheel(firefox不支持)和dommousescroll(只有firefox支持),关于这两个事件这里不做详述,想要了解的朋友请移步:鼠标滚 ...

  8. 监听web服务器状态,处理监听fd的流程 - web服务器lighttpd1.4.18代码详细分析_Linux编程_Linux公社-Linux系统门户网站...

    //接收一个新的连接connection*connection_accept(server*srv, server_socket*srv_socket) {/*accept everything*// ...

  9. android 电话状态的监听(来电和去电) PhoneStateListener和TelephonyManager

    今天的程序可以实现电话状态改变时启动(来电.接听.挂断.拨打电话),但是暂时没法实现拨打电话时判断对方是否接听.转语音信箱等.Android在电话状态改变是会发送action为android.inte ...

最新文章

  1. oracle列字符可以增加长度,ORACLE字符列长度语义
  2. 这才是程序员的爱情观!?
  3. python安装包为什么这么小-python安装后为什么找不到包
  4. Android Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE解决办法
  5. html 高度不够,HTML/CSS:Div未扩展到内容高度
  6. Java提高篇 —— Java三大特性之多态
  7. flask服务器获取多个文件,python - OkHttp将带有名称的多个文件上传到Python Flask服务器 - 堆栈内存溢出...
  8. python键值对储存数据_在python中存储100万个键值对的列表
  9. npm connect ETIMEDOUT
  10. secureCRT免密码登陆Linux
  11. android中java中的开方
  12. cousera“Neural NetWorks and Deep learning读书笔记
  13. 玉米社:短视频脚本是什么意思?包含哪些内容?
  14. 原来这样可以优雅地解决小米手机后台弹窗权限问题
  15. 字符对应的URL编码值集合
  16. 进制转换--(2-8)为什么2的3次方=8,所以三位变一位
  17. 统驭科目(Reconciliation account)
  18. matlab 离群值去除方法,数据清洗中异常值(离群值)的判别和处理方法
  19. mysql查询是第几条记录_MySQL查询第几行到第几行记录
  20. 智能家居“伪智能”陷阱此起彼伏 该如何辨别?

热门文章

  1. 【C 语言】文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )
  2. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取 远程 目标进程 中的 /system/lib/libc.so 动态库中的 mmap 函数地址 )
  3. 【C 语言】文件操作 ( 文件结尾判定 )
  4. 【Android 安装包优化】开启资源压缩 ( 资源压缩配置 | 启用严格模式的资源引用检查 | 自定义保留/移除资源配置 | 资源压缩效果 )
  5. 【Android 高性能音频】Oboe 开发流程 ( 检查 Oboe 音频流属性 | 开始播放 | 停止播放 | 关闭 Oboe 音频流 | 重新配置 Oboe 音频流属性 )
  6. 【Android NDK 开发】JNI 方法解析 ( C/C++ 设置 Java 对象字段 | 查找字段 | 设置字段 )
  7. 转 推荐 33 个 IDEA 最牛配置,写代码太爽了!
  8. Ticker 未释放导致的 CPU 占用过高
  9. hs_err_pid
  10. [转]RedHat Enterprise Linux 7关闭防火墙方法