Android Touch事件 - 具有向上和向下移动事件

时间:2014-04-15 20:59:25

标签: java android user-interface ontouchevent

我对Touch事件有疑问,我相信这是可能的。

让我说我有一个立方体,当我向左或向右滑动屏幕我希望立方体移动相同然后当我快速触摸(向下)我希望立方体旋转一定量。

目前,如果我滑动屏幕,那么立方体将根据需要向左或向右移动,但它也会旋转一次。

这是我的代码。

public boolean onTouchEvent(MotionEvent event)
{
    if (event != null)
    {
        float x = event.getX();
        //float y = event.getY();

        if (event.getAction() == MotionEvent.ACTION_MOVE)
        {
            if (mRenderer != null)
            {
                float CubeX = (x - mPreviousX) / mDensity / 2f;  
                mRenderer.mCubeXMovement += CubeX;
            }
        }           
        else if (event.getAction() == MotionEvent.ACTION_DOWN)
        {
            if (mRenderer != null)
            {
                float deltaX = 45f;
                mRenderer.mDeltaX += deltaX;
            }
        }

        mPreviousX = x;
        mPreviousY = y;

        return true;
    }
    else
    {
        return super.onTouchEvent(event);
    }
}

上面的代码只查找Down事件,这就是它旋转和移动任何类型的触摸的原因 我怎么能实现这一点,以便立方体只有在向下和向上事件顺序时才会旋转

1 个答案:

答案 0 :(得分:1)

它要么是DOWN [ - > MOVE] - >向上或向下[ - > MOVE] - > CANCEL

但ACTION_UP始终遵循ACTION_DOWN

要检查快速触摸,请标记向下位置(x& y),然后确保UP位置位于向下位置的TOUCH_SLOP(ViewConfiguration.getScaledTouchSlop())内。