`
modabobo
  • 浏览: 511610 次
文章分类
社区版块
存档分类
最新评论

对ListView滚动状态的监听

 
阅读更多

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


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

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

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


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

//响应ListView的滚动状态
getListView().setOnScrollListener(new OnScrollListener() {
	int listViewScrollState;
			
	/**
	 * ListView的状态改变时触发
	 * @param view
	 * @param scrollState
	 */
	@Override
	public void onScrollStateChanged(AbsListView view, int scrollState) {
		listViewScrollState = scrollState;
		switch(scrollState){
		case OnScrollListener.SCROLL_STATE_IDLE://空闲状态
					
			break;
		case OnScrollListener.SCROLL_STATE_FLING://滚动状态
			
			break;
		case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL://触摸后滚动
				
			break;
		}
	}

	/**
	 * 正在滚动
	 * firstVisibleItem第一个Item的位置
	 * visibleItemCount 可见的Item的数量
	 * totalItemCount item的总数
	 */
	@Override
	public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {
		//控制显示和隐藏的代码...
	}
});


分享到:
评论

相关推荐

    listView滚动到结束的监听

    监听listview滚动到结束,做出相应的动作,给用户良好的用户体验。

    Android中ListView分页加载数据

    一页20条数据,下拉滑动到底部时加载新数据 关键点:给listview设置滚动监听,当滚动状态变化,且最后一个可见listitem(lv.getLastVisiblePosition())的位置等于listview的长度则加载新数据

    Android项目ListView保持在列表的顶部固定View 案例分析 源码.rar

    3. 利用监听器捕获滚动事件,根据需要调整固定View的显示状态。 **源码结构**: - `MainActivity.java`:主Activity类,负责初始化ListView和Adapter。 - `CustomAdapter.java`:自定义Adapter类,用于处理数据...

    Android listview定位到上次显示的位置的实现方法

    Android listview定位到上次显示的位置的实现方法 整体思路:滑动lictview时,记录listview的位置,定位时定位到该...* 滚动状态改变时调用 */ @Override public void onScroll(AbsListView view, int firstVisibleI

    Android开发资料合集--续

    54、设置ListView滚动条属性 92 55、获取Array.xml文件中的值 93 56、获取系统媒体声音文件 93 57、自定义Adapter 94 58、记住listview滚动位置 94 59、更改系统超时休眠的时间 94 60、更改对话框大小 95 61、json...

    Android高仿美团外卖点菜联动列表效果

    最近项目中有一个添加购物车的需求,需要做成美团外卖点菜联动ListView的效果,可能有的朋友觉得这很...没错,基本思路就是这样子,只是美团外卖点菜效果上有一种根据右边列表滑动可以监听到左边分类信息的变化状态。

    Android 开发技巧

    4.6.9、自动滚动ListView 88 4.6.10、BaseExpandableListAdapter例 88 4.6.11、列表视图(List View) 96 4.6.12、NoteList 99 4.7、TAB与TABHOST 106 4.8、RATINGBAR 110 4.8.1、例一 110 4.8.2、例二 112 4.9、...

    Android开发资料合集-World版!

    4.6.9、自动滚动ListView 88 4.6.10、BaseExpandableListAdapter例 88 4.6.11、列表视图(List View) 96 4.6.12、NoteList 99 4.7、TAB与TABHOST 106 4.8、RATINGBAR 110 4.8.1、例一 110 4.8.2、例二 112 4.9、...

    flutter-example:120多种小部件的使用例子,根据 flutter-book的例子,可以直接运行的哦

    flutter-example根据 flutter-book的例子,所有连接均为代码示例。Flutter 入门与进阶系列文章Flutter 各种小部件使用例子1.3 ... 滚动组件4.1 SingleScrollView4.2 listview4.3 gridview4.4 customScrollView4.5 监听滚

    超实用的jQuery代码段

    8.17 在页面级创建全局的AJAX监听器以及状态指示器 8.18 级联AJAX数据异步加载 8.19 取消AJAX异步请求 第9章 jQuery常用算法 9.1 jQuery遍历算法 9.2 jQuery祖先算法 9.3 jQuery后代算法 9.4 jQuery同胞算法 9.5 ...

    疯狂Android讲义源码

     2.3.5 状态开关按钮(ToggleButton)  的功能与用法 71  2.3.6 时钟(AnalogClock和Digital  Clock)的功能与功法 73  2.3.7 图像视图(ImageView)的  功能和用法 75  2.4 高级界面组件 79  2.4.1 自动...

    疯狂Android讲义.part2

    2.4.8 滚动视图(ScrollView) 的 功能和用法 95 2.4.9 列表视图(ListView和 ListActivity) 95 2.4.10 可展开的列表组件(ExpandableListView) 101 2.4.11 网格视图(GridView)和 图像切换器(ImageSwitcher) ...

    疯狂Android讲义.part1

    2.4.8 滚动视图(ScrollView) 的 功能和用法 95 2.4.9 列表视图(ListView和 ListActivity) 95 2.4.10 可展开的列表组件(ExpandableListView) 101 2.4.11 网格视图(GridView)和 图像切换器(ImageSwitcher) ...

    DragVideo,一种在播放视频时,可以任意拖拽的方案

    public void onViewDragStateChanged(int state) { //当ViewDragHelper状态发生变化时回调(IDLE,DRAGGING,SETTING[自动滚动时]) if (state == CustomViewDragHelper.STATE_IDLE) { if (mIsMinimum && ...

    java源码包---java 源码 大量 实例

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    java源码包2

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    java源码包3

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    java源码包4

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

Global site tag (gtag.js) - Google Analytics