有的时候,我们需要对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. hihoCoder-1829 2018亚洲区预选赛北京赛站网络赛 B.Tomb Raider 暴力 字符串
  2. java实现微信企业付款到银行卡_微信企业付款到银行卡实现方式 - 黎明互联-官方博客 - 黎明互联 - 区块链培训,PHP培训,IT培训,职业技能培训,追求极致!改变您的职业生涯!...
  3. PHP 中 9 大缓存技术总结
  4. python中的作用域_python 模块的作用域
  5. Spark 机器学习拾遗
  6. python3 -m pip install pymongo_Python3上Pymongo的SSL握手问题
  7. 限流算法: 漏桶算法和令牌桶算法
  8. 如何打造一个顶尖的精确营销系统?
  9. x86 单线并发多拨_OpenWrt ADSL单线多拨,负载均衡(仅供参考)
  10. 如何从官网下载JDK安装包?
  11. ssRender引擎
  12. android 滑动标签框架,Android实现网易严选标签栏滑动效果
  13. 【VBA编程】VBA基础语法(二)
  14. Linux之时区修改
  15. linux 多wan口 路由器,真假多WAN负载均衡
  16. 逆势稳增,亚信科技的韧性和潜力
  17. 下暴你的硬盘 超多游戏下载 不爆你找我! (二)
  18. 密码学数学基础:近世代数
  19. 如何处理linux恶意程序
  20. laydate控件选择类型

热门文章

  1. 【错误记录】Flutter 设备连接显示 Loading... ( 断网 | 删除 flutter/bin/cache/lockfile 文件 )
  2. 【C 语言】编译过程 分析 ( 预处理 | 编译 | 汇编 | 链接 | 宏定义 | 条件编译 | 编译器指示字 )
  3. 利用Nginx轻松实现Ajax的跨域请求(前后端分离开发调试必备神技)
  4. 多态Poly中的向上/下转型 Upcast/Downcast
  5. 【实验吧】CTF_Web_简单的SQL注入之1
  6. 简单理解kafka---入门
  7. java 基础 --静态
  8. ThinkPad E440 加内存后导致开不了机
  9. 【郭林专刊】MVC已过时,MOVE时代来临?
  10. 今天做了一个复杂的table