【发布时间】:2015-09-21 08:25:43
【问题描述】:
我一直在玩运动事件和拖动(所以我没有将手指从屏幕上移开 - 这不是一扔)。问题是它只检测到第二个、第三个、第四个等等,当我的手指移过向上拖动或向下拖动开始和结束的点时向下或向上拖动。
见下面的代码。向上拖动时计数等于 2,向下拖动时计数等于 1。但是,它仅在例如我向上移动手指(计数 2)然后向下移动超过我开始向上移动的点(这将是计数 1)时才计数,而不是在等于 2 之前,并且这个当我向后移动时继续它只有当我移动超过我改变方向返回的点时才计数 2。但是为什么它在这些点之前不将其识别为阻力,因为在这些方向上的任何移动都应该是阻力。我该如何解决这个问题?
这是我测试它的简单代码:
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
oldX = (int) event.getRawX();
oldY = (int) event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
posY = (int) event.getRawY();
posX = (int) event.getRawX();
diffPosY = posY - oldY;
diffPosX = posX - oldX;
if (diffPosY > 0){//down
count = 1;
}
else//up
{
count = 2;
}
break;
【问题讨论】: