Я пытаюсь сделать элемент управления mulitouch, но всегда получаю ошибки, когда я удаляю палец в другой последовательности, когда я даю его на экран.Управление Android Multitouch
@Override
public boolean onTouchEvent(MotionEvent event) {
pointers = event.getPointerCount();
for(int a = 0; a < event.getPointerCount(); a++) {
expos[a] = (int) event.getX(event.getPointerId(a));
eypos[a] = (int) event.getY(event.getPointerId(a));
}
if(event.getAction() == MotionEvent.ACTION_DOWN) pressed = true;
if(event.getAction() == MotionEvent.ACTION_UP) pressed = false;
return true;
}
Я думаю, что проблема в том, что, когда я удалить первый палец второй все еще имеет идентификатор 2, но что я могу сделать, чтобы исправить это?
Но с ACTION_POINTER_UP я знаю только, когда указатели удаляются в другой последовательности. Как я могу сделать указатель 2 на указатель 1 при удалении указателя 1? – user2080326
Это делается автоматически. Идентификатор проблемы, который вы используете getPointerID, но вам это не нужно. Вместо: expos [a] = (int) event.getX (event.getPointerId (a)); вам нужно написать: expos [a] = (int) event.getX (a); – vicciu