Первым методом MotionEvent, который понадобится использовать при работе с мультитач, является getPointerCount. Он сообщает, сколько пальцев представлено в объекте MotionEvent, что не обязательно соответствует количеству пальцев, касающихся экрана; все зависит от оборудования и реализации Android на этом оборудовании. Вы можете обнаружить, что на ряде устройств метод getPointerCount сообщает не обо всех касающихся экрана пальцах, а только о некоторых. Но давайте двигаться дальше. Как только в объектах MotionEvent сообщается о более чем одном пальце, нужно приступать к работе с индексами и идентификаторами указателя.
Объект MotionEvent содержит информацию об указателях, начиная с индекса и соответствуя количеству пальцев, сообщаемых этим объектом. Индекс указателя всегда стартует с ; если сообщается о трех пальцах, индексами указателей будут, и. Вызовы методов, подобных getX, должны включать индекс указателя для пальца, о котором необходимо получить информацию. Идентификаторы указателей — это целочисленные значения, представляющие отслеживаемые пальцы. Идентификаторы указателей начинаются с для первого касающегося экрана пальца, но по мере того, как пальцы убираются и снова прикасаются экрана, это может быть не всегда так. Идентификатор указателя можно трактовать как имя того или иного пальца, когда он отслеживается Android. Например, представьте себе пару последовательностей касания для двух пальцев: сначала первый палец опускается вниз, затем — второй, после чего первый палец поднимается и за ним — второй. Первый палец в положении внизу получит идентификатор. Второй палец в положении внизу получит идентификатор. После того, как первый палец будет поднят, второй палец по-прежнему имеет идентификатор. В этот момент индекс указателя для второго пальца становится равным, т.к. индекс указателя всегда начинается с. В этом примере второй палец (с идентификатором указателя ) имеет индекс указателя, равный, когда он впервые касается экрана, и получает индекс указателя, равный, после того, как первый палец убирается с экрана. Но даже когда второй палец является единственным касающимся экрана, связанный с ним идентификатор указателя останется равным. Идентификаторы указателей в приложениях используются для связывания вместе событий, ассоциированных с конкретными пальцами, даже если участие принимают другие пальцы. Давайте рассмотрим пример.
Если доступен только эмулятор http://avilononline.ru/shop/product/sovmestimiy-kartridzh-hp-q2612a.html, это приложение будет работать, но вы не сможете использовать на экране множество пальцев одновременно. Вывод будет похож на вывод приложения, которые рассматривалось ранее. . пример сообщений из LogCat для упомянутой выше последовательности касания — первый палец нажимает на экран, затем на экран нажимает второй палец, после этого первый палец убирается с экрана, а за ним убирается и второй палец.
Опубликовал katy
February 17 2015 18:38:29 ·
0 Комментариев ·
3402 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.