如何在listView上检测向上和向下滑动。我尝试了以下方法
2.在onSimpleGestureListener的onScroll()中,distanceY对于检测向上和向下滑动没有帮助。它适用于fling检测,但在特定滑动中将其值从负值波动到正值。
使用onTouchListener
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
before = event.getY();
break;
case MotionEvent.ACTION_MOVE:
now = event.getY();
if (now < before) {
upSwipe()
} else if (now > before) {
downSwipe();
}
}
return false;
}
当我向上滑动时,变量now
有时会变得大于变量previous
,有时变小。因此,调用upSwipe()和downSwipe()。
我敲了几个小时。不能单独这样做。
答案 0 :(得分:-1)
您是否尝试过返回true而不是返回false。
基于Detecting Common Gestures documentation。
“注意创建一个为ACTION_DOWN事件返回false的侦听器。如果这样做,将不会为后续的ACTION_MOVE和ACTION_UP事件字符串调用侦听器。这是因为ACTION_DOWN是所有触摸事件的起点。“