1

私のアプリは、1本指と2本指のタッチを処理します。最初の指がACTION_MOVEアクションを送信し、2 番目の指がACTION_POINTER_UP同時にアクションを送信している可能性があります。

では、最初の指のアクションと 2 番目の指のアクションを取得するにはどうすればよいでしょうか。

4

1 に答える 1

1

これで、 で使用できるポインタ インデックスができましたMotionEvent.case。どの指が下がっているかによって、さまざまなケースがあります。

また、ポインタ インデックスが何であっても、両方とも大文字とMOVE小文字が関連付けられていることに注意してください。ポインター ID にアクセスできない限り、ID で区別できます。

たとえばACTION_POINTER_1_DOWN、2 番目の指に関連付けられます。

これは非常に簡単な例です:

switch(action) {
    case (MotionEvent.ACTION_DOWN):

        break;
    case (MotionEvent.ACTION_POINTER_1_DOWN): // Second finger

        break;
    case (MotionEvent.ACTION_MOVE):
        if(pointer > 0) {
            x = motionEvent.getX(pointer);
            y = motionEvent.getY(pointer);
        }
        else {
            x = motionEvent.getX();
            y = motionEvent.getY();
        }

        break;
    case (MotionEvent.ACTION_UP):
        System.out.println("UP");
        break;
    case (MotionEvent.ACTION_POINTER_1_UP): // Second finger
        System.out.println("1 UP");
        break;
    }
于 2015-01-11T22:01:40.230 に答える