Мультитач [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