2012-03-28 2 views
0

Я тестирую this образец версии 13 android (3.2), и у меня есть проблема, когда на экране есть несколько касаний.Как избежать линий между несколькими касаниями?

Когда я впервые касался, то есть событие action_down, если я сделаю еще одно одновременное касание, тогда я не получу другого action_down, мое первое касание будет активно, и я могу продолжать получать action_move с первого касания. Проблема заключается в том, что когда я отпускаю первое касание и перемещаю второе, он создает линию для этого касания, потому что он генерирует другое событие action_move. Я пробовал использовать евклидову дистанцию, но, похоже, она слишком сильно замедляется и делает линии незавершенными. Я попытался создать модель производителя/потребителя, но все же получил ту же проблему. Я также пытался проверить время с последнего касания, но это очень неэффективно.

Есть ли у кого-нибудь предложения?

ответ

1

Я признаю, что я немного запутался в вашей реальной проблеме, но мне кажется, что ваша проблема может быть решена просто путем обработки большего количества событий касания. Когда второй палец опускается, вы можете получить событие ACTION_POINTER_DOWN, указывая на второе касание, и затем вы можете изменить, как ваши события ACTION_MOVE будут интерпретироваться, пока второй палец опущен, пока не произойдет событие ACTION_POINTER_UP. Надеюсь, что ответит или, по крайней мере, поможет вашему вопросу.

+0

I Полностью пренебрегли действиями MotionEvent. Спасибо. – mrcaramori

+0

Просто наблюдение: я не получал ACTION_POINTER_DOWN с первым вторичным касанием, только ACTION_POINTER_UP, а затем он начал генерировать ACTION_POINTER_DOWN с дополнительными касаниями. Может быть, ошибка. – mrcaramori

Смежные вопросы