【发布时间】:2018-06-06 14:58:22
【问题描述】:
我有如下代码:
switch (ev.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
pinching = false;
break;
case MotionEvent.ACTION_MOVE:
if (pinching || ld > 30.0f) {
pinching = true;
final float dxk = 0.5f * (lastdx1 + lastdx2);
final float dyk = 0.5f * (lastdy1 + lastdy2);
if(zoom * d / (d - dd) >= 4.0){
pinching = false;
scrolling = false;
} else {
smoothZoomTo(Math.max(1.0f, zoom * d / (d - dd)), dxk, dyk, true);
}
}
break;
case MotionEvent.ACTION_POINTER_DOWN:
ev.setAction(MotionEvent.ACTION_CANCEL);
super.dispatchTouchEvent(ev);
break;
case MotionEvent.ACTION_POINTER_UP:
case MotionEvent.ACTION_UP:
default:
pinching = false;
break;
}
在这里,我试图在缩放后放下两根手指。我的要求是在达到 maxzoom 时不要移动。但是现在每次动作移动都会在动作指针向下事件上被调用。
如何在这种情况下跳过动作移动?非常感谢任何帮助。
【问题讨论】:
标签: android multi-touch