mListView.setOnScrollListener(new OnScrollListener() {
private int lastIndex = 0; @Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO 自动生成的方法存根
switch (scrollState) { // 滚动之前,手还在屏幕上 记录滚动前的下标
case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
// view.getLastVisiblePosition()得到当前屏幕可见的第一个item在整个listview中的下标
lastIndex = view.getLastVisiblePosition();
break; // 滚动停止
case OnScrollListener.SCROLL_STATE_IDLE:
// 记录滚动停止后 记录当前item的位置
int scrolled = view.getLastVisiblePosition();
// 滚动后下标大于滚动前 向下滚动了
if (scrolled > firstIndex) {
// scroll = false;
// UIHelper.ToastMessage(VideoMain.this,"菜单收起");
}
// 向上滚动了
else {
// UIHelper.ToastMessage(VideoMain.this,"菜单弹出");
// scroll = true;
}
break;
}
} @Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// TODO 自动生成的方法存根 }
});

这个代码片段不是很完美,但思路没错。记录当前最后一个item的位置,如果结束滑动时item的位置上移了,那么就说明是向下滑动。但这里面有个不足的地方:

当用户手指向上滑动一小段举例,没松开手指,接着又向下滑动时,这个代码片段就不能很好的监听事件了。我就暂时记录一下,以后用到了再说吧。

判断listview滑动方向的代码片段的更多相关文章

  1. 对于移动端浏览器touch事件的研究总结(4)判断手指滑动方向

    最近有一些微信的项目,虽然页面很简单,但配合手势后的效果却是很不错的.最基本的效果就是手指向上滑,页面配合css3出现一个展开效果,手指向下滑将展开的内容按原路径收起.其实就是一个简单的判断手指滑动方 ...

  2. 《移动端浏览器Touch事件判断手指滑动方向方法》

    $("body").on("touchstart", function(e) {     e.preventDefault();     startX = e. ...

  3. jquery判断手指滑动方向

    jquery判断手指滑动方向 <pre> /*判断哪个滑动方向还是自己改下 要么上下 要么左右*/ var startX; var startY; $(".shanghua&qu ...

  4. web移动前端页面,jquery判断页面滑动方向

    /*判断上下滑动:*/ $('body').bind('touchstart',function(e){ startX = e.originalEvent.changedTouches[0].page ...

  5. 移动端 uni-app 滑动事件 精确判断手指滑动方向

    移动端根据手指滑动操作判断滑动方向 设计思路: 1.根据移动端touchstart和touchend方法获取手指触摸屏幕的开始坐标和结束坐标 2.根据两个坐标计算与水平方向的夹角 3.根据夹角判断当前 ...

  6. js判断手指滑动方向(移动端)

    var startx, starty; //获得角度 function getAngle(angx, angy) { return Math.atan2(angy, angx) * 180 / Mat ...

  7. js判断元素滑动方向(上下左右)移动端

    每天学习一点点. 1 var startx, starty; //获得角度 function getAngle(angx, angy) { return Math.atan2(angy, angx) ...

  8. 如何判断ScrollView滑动方向

    1/判断滚动视图左右滚动 { CGFloat startContentOffsetX;//滚动开始的坐标 CGFloat willEndContentOffsetX; //滚动即将停止的坐标 CGFl ...

  9. vue 中判断页面滑动方向

随机推荐

  1. Java编程的逻辑 (58) - 文本文件和字符流

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  2. Ubuntu美化及配置,常见问题解决方案

    安装符合审美观,并且具有可用性的Ubuntu桌面,需要耗费一些时间与精力不过,相信我,这值得去做,你会享受这中间的过程,以及最后的成果 首先,我推荐安装的软件列表如下,在安装前,需要先执行以下的步骤: ...

  3. Git公钥/私钥生成方式

    打开git bash命令行工具,依次执行以下命令,直接下一步: 私钥生成:ssh-keygen -t rsa -b 2048 -f private.key 公钥生成:openssl rsa -in p ...

  4. JDBC之 自增长与事务

    JDBC之 自增长与事务 1.自增长 有这样一个现象:数据库中有两个表格 学生表(学生姓名,所在班级),班级表(班级号(自增长的主键),班级人数). 现在我往班级表插入一条信息, 只提供班级人数,班级 ...

  5. Parted 手册

    https://www.gnu.org/software/parted/manual/parted.html#Using-Parted

  6. qq sid qq sid 是什么 qq sid 怎么用

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha ======= qq sid qq sid  是什么 qq sid  怎么用 ===== ...

  7. lupgu P3950 部落冲突

    题目链接 luogu P3950 部落冲突 题解 树剖线段树可以 lct还行 代码 #include<cstdio> #include<algorithm> inline in ...

  8. Xtreme8.0 - Magic Square 水题

    Xtreme8.0 - Magic Square 题目连接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/ ...

  9. 让nginx支持HLS

    准备工作: 1.安装nginx和rtmp模块 2.安装ffmepg(用来推流) 以上准备工作参见这篇博客:http://www.cnblogs.com/damiao/p/5231221.html 1. ...

  10. STM32 TIMER REGISTER