android开发步步为营之75:ListView监听上滑下滑事件
2015-09-10 11:55
621 查看
两种方式可以监听。
一、通过OnScrollListener
lv_more_skin.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if(lv_more_skin.getChildCount()>0) { boolean isScrollToUp = false; View childAt = lv_more_skin.getChildAt(firstVisibleItem); int[] location = new int[2]; childAt.getLocationOnScreen(location); // Log.d("onScroll", "firstVisibleItem= "+firstVisibleItem+" , y="+location[1]); if(firstVisibleItem!=mListViewFirstItem) { if(firstVisibleItem>mListViewFirstItem) { // Log.e("--->", "向上滑动"); isScrollToUp = true; }else{ // Log.e("--->", "向下滑动"); isScrollToUp = false; } mListViewFirstItem = firstVisibleItem; mScreenY = location[1]; }else{ if(mScreenY>location[1]) { // Log.i("--->", "->向上滑动"); isScrollToUp = true; } else if(mScreenY<location[1]) { //Log.i("--->", "->向下滑动"); isScrollToUp = false; } mScreenY = location[1]; } if(isScrollToUp) { KeyboardUtils.hideKeyboard(); } } } });
[/code]
二、通过OnTouchListener
lv_more_skin.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: KeyboardUtils.hideKeyboard(); break; case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_UP: KeyboardUtils.hideKeyboard(); break; } return false; } });
[/code]
相关文章推荐
- android自定义无上下padding的textview
- 第三方QQ登录不回调 (Android)
- android轻量级开源缓存框架——ASimpleCache(ACache)源码分析(封装好了一个工具类供大家使用)
- Android官方设计常用icon以及color颜色RGB值和对应颜色效果图
- android隐藏标题栏和状态栏
- Android笔记(二十八)通知的使用
- 基于Android Studio 的NDK之 “Hello,World!”
- android-仿图片地震波SeismicWaveView
- Android动画(Animation)
- Ubuntu和Mac中Android源码查看工具
- Android初学-----环形进度条 带渐变
- 【问题解决】Android Stdio报错:Error occurred during initialization of VM Could not reser
- Android最佳性能实践(一)——合理管理内存
- Android几种FrameWork(Manager)的用法
- 升级android sdk到5.0,创建项目错误解决方法
- android之wifi移植全过程(一)
- Android中Bitmap,byte[],Drawable相互转化
- Android ---js与java的相互调用
- Android不规则布局并触发点击事件
- Android开发中遇到的小问题