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

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

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

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

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

  1. <span style="font-size:18px">//响应ListView的滚动状态</span>
  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. android电话状态的监听

    电话状态的监听: /*** * 继承PhoneStateListener类,我们能够又一次其内部的各种监听方法 然后通过手机状态改变时,系统自己主动触发这些方法来实现我们想要的功能 */ class ...

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

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

  3. 【Flutter】可滚动组件之滚动控制和监听

    前言 可以用ScrollController来控制可滚动组件的滚动位置. 接口描述 ScrollController({ // 初始滚动位置 double initialScrollOffset = ...

  4. 监听TelephonyManager的通话状态来监听手机的所有的来电

    import java.io.FileNotFoundException;import java.io.OutputStream;import java.io.PrintStream;import j ...

  5. Sdcard插拔、状态广播监听,Android文件系统,Android存储器相关知识总结

    一 SDcard广播监听,注册,取消注册的实现 (1)根据实际需要监听的事件,添加action,并注册,一般在onCreate中添加 //在IntentFilter中选择你要监听的行为 IntentF ...

  6. android listVIew实现button按钮监听程序

    1.重写simpleAdapter 方法@Override public HashMap<String,String> getItem(int position) { // TODO Au ...

  7. js实现F5键刷新后菜单保持之前状态以及监听F5页面刷新子iframe 而父页面不刷新

    利用layui实现菜单效果时,刷新页面仍回到首页状态,需要 实现iframe子页面刷新父元素不刷新,下面是代码 //刷新时禁用F5的默认事件 $(document).keydown(function ...

  8. 09 ListView监听 ExpandableListView的使用总结

    1.ListView的滚动监听 >setOnScrollListener 监听 //ListVIew滚动监听 lv.setOnScrollListener(new OnScrollListene ...

  9. Android:监听ListView

    本文目录 监听ListView点击事件 监听ListView滚动事件 监听ListView点击事件 使用监听器OnItemClickListener package com.example.tests ...

随机推荐

  1. 在vc6里头文件sys/timeb.h里struct timeb各变量的具体含义?

    timeb的定义:struct _timeb{         time_t time;          unsigned short millitm;          short timezon ...

  2. 测试工具APPScan安装与使用教程

  3. 洛谷——P1143 进制转换

    P1143 进制转换 题目描述 请你编一程序实现两种不同进制之间的数据转换. 输入输出格式 输入格式: 输入数据共有三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16),第二行是一个n进 ...

  4. java中split任意数量的空白字符

    java程序中经常通过split截取字符串来取得其中的关键字.但是由于其中不同操作系统或者不同作者的习惯,经常会出现不同数量的空格,例如"   "(3个空格):或者出现制表符.Ta ...

  5. Number of Connected Components in an Undirected Graph -- LeetCode

    Given n nodes labeled from 0 to n - 1 and a list of undirected edges (each edge is a pair of nodes), ...

  6. 用swift开发自己的MacOS锁屏软件(二)

    上一篇中尝试写了hello world,这一篇中,开始尝试锁屏功能 1.尝试查找swift有没有相关的函数,可以控制系统锁屏之类的,结果并没有找到 2.尝试查找cocoa有没有相关的接口,结果仍然没有 ...

  7. Bean 生命周期&&模块化配置

    (一)审生命周期 1,配置一个方法作为生命初始化方法Spring会在对象创建后调用(init-method) 2,配置一个方法生命周期的销毁方法,spring容器在关闭并销毁所有容器中的对象之前调用. ...

  8. 为什么代理属性设置成assign为了防止生成保留环来

    循环引用 全部的引用计数系统, 都存在循环应用的问题, 比如以下的引用关系: 1. 对象a创建并引用到了对象b 2. 对象b创建并引用到了对象c 3. 对象c创建并引用到了对象b 这时候b和c的引用计 ...

  9. #define,#undef宏学习

    1.预处理器 1.1预处理符号: __FILE__ :进行编译的源文件名字 __LINE__ :文件当前行的行号 __DATA__ :文件被编译的日期 __TIME__ :文件被编译的时间 __STD ...

  10. django模型manager学习记录

    Managers 在语句Book.objects.all()中,objects是一个特殊的属性,需要通过它查询数据库. 在第5章,我们只是简要地说这是模块的manager .现在是时候深入了解mana ...