2

現在、dispatchTouchEventを使用してタッチイベントを取得していますが、クリックと「ドラッグ」スタイルトジェスチャを区別する簡単な方法はありますか?

4

2 に答える 2

1

DispatchTouchEventパラメータで呼び出されMotionEventます。メソッドgetAction内でMotionEvent返すことができます

  • ACTION_DOWN
  • ACTION_MOVE
  • ACTION_UP
  • ACTION_CANCEL

次に、ACTION_DOWNフラグ isClick を設定します。ACTION_MOVEがある場合は、 isClickフラグをクリアします。

switch (ev.getAction()) {
    case MotionEvent.ACTION_DOWN:
        isClick = true;
        break;
    case MotionEvent.ACTION_CANCEL:
    case MotionEvent.ACTION_UP:
        if (isClick) {
            //TODO Click action
        }
        break;
    case MotionEvent.ACTION_MOVE:
        isClick = false;
        break;
    default:
        break;
    }
    return true;
}
于 2013-05-10T14:45:59.520 に答える