我的onScroll
和被onTouchEvent
调用,但不是onDown
方法。事实上,当我登录时,我distaceX
会注销其中的onDown
几个,而第一个总是相对于我结束最后一个滚动的位置。
@Override
public boolean onTouchEvent(MotionEvent me){
this.detector.onTouchEvent(me);
return super.onTouchEvent(me);
}
@Override
public boolean onDown(MotionEvent e) {
Log.d("---onDown---",".");
return false;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
Log.d("---onScroll---", "" + distanceX);
return false;
}
任何想法为什么onDown
不被调用?
编辑:
我将我的更改onTouchEvent
为以下块,并且只有 ACTION_MOVE 被记录。
float gestureDistance = 0;
@Override
public boolean onTouchEvent(MotionEvent me){
switch (me.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
Log.d("actionDown", "gestureDistance:" + gestureDistance);
break;
case MotionEvent.ACTION_UP:
Log.d("actionUp", "gestureDistance:" + gestureDistance);
break;
case MotionEvent.ACTION_MOVE:
Log.d("actionMove", "gestureDistance:" + gestureDistance);
break;
default:
Log.d("action default", "default");
break;
}
编辑:我认为问题在于我的视图是 WebView。我可以阻止 webview 窃取我的事件吗?