Мультитач [Android]

В моем коде сильно упрощено следующее:

    if(action == MotionEvent.ACTION_DOWN){
        x = me.getX();
        y = me.getY();
    }
    else if(action == MotionEvent.ACTION_UP){
        x = me.getX();
        y = me.getY();
    }
    else if(action == MotionEvent.ACTION_MOVE){
        x = me.getX();
        y = me.getY();
    }
    if(action == MotionEvent.ACTION_POINTER_2_DOWN){
        x2 = me.getX(1);
        y2 = me.getY(1);
    }
    if(action == MotionEvent.ACTION_POINTER_2_UP){
        x2 = me.getX(1);
        y2 = me.getY(1);
    }

я хочу добавить

    if(action == MotionEvent.ACTION_POINTER_2_MOVE){
        x2 = me.getX(1);
        y2 = me.getY(1);
    }

Но конечно

   MotionEvent.ACTION_POINTER_2_MOVE

Это не настоящий метод. Я знаю, что должен быть способ обойти это. Какие-либо предложения?

Если вы не понимаете мой вопрос, то я спрашиваю: есть ли метод мультитач, который запускается при перемещении указателя? Кстати, Google не помогает.

Я также проверил http://developer.android.com/reference/android/view/MotionEvent.html но опять ничего полезного

1 ответ

Решение

Из документации:

Порядок, в котором отдельные указатели появляются в событии движения, не определен. Таким образом, индекс указателя указателя может изменяться от одного события к следующему, но идентификатор указателя указателя гарантированно остается постоянным, пока указатель остается активным. Используйте метод getPointerId (int) для получения идентификатора указателя для отслеживания всех последующих событий движения в жесте. Затем для последовательных событий движения используйте метод findPointerIndex(int), чтобы получить индекс указателя для данного идентификатора указателя в этом событии движения.

Вы должны сами получить и отследить идентификаторы указателей и определить, какие указатели были перемещены.

http://developer.android.com/reference/android/view/MotionEvent.html

Другие вопросы по тегам