gpt4 book ai didi

android - 永远不会调用 OnGestureListener onDown 方法

转载 作者:行者123 更新时间:2023-11-29 22:01:49 29 4
gpt4 key购买 nike

我的 onScrollonTouchEvent 被调用,但不是 onDown 方法。事实上,当我在 onDown 中记录 distaceX 时,我会注销其中的几个,第一个总是相对于我上次滚动结束的位置。

 @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 更改为以下 block ,并且仅记录 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;
}

编辑:我认为问题在于我的 View 是 WebView。我可以防止 WebView 窃取我的事件吗?

最佳答案

你为什么不做这样的事情:

@Override
public boolean onTouchEvent(MotionEvent event) {

switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
//Do something on action down.
case MotionEvent.ACTION_UP:
//Do something on action up.
break;
case MotionEvent.ACTION_MOVE:
//Do something when moving.
break;
}

return true;
}

希望这对您有所帮助。

关于android - 永远不会调用 OnGestureListener onDown 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11730425/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com