Intereting Posts
Как создать пользовательский медиаплеер для воспроизведения пользовательского кодека в Android? Отображение изображения, большего, чем экран устройства Google Map Android API v2 не может отображать карту в приложении магазина воспроизведения Ошибка приложения не установлена ​​на Android Коснитесь в любом месте, чтобы открыть меню открытия навигационного ящика Невозможно разобрать шаблон «Класс» Ошибка всякий раз, когда я пытаюсь открыть новый класс java База данных Sqlite – как сохранить изображение, взятое из намерения камеры, а также hashmap для sqlite для последующего извлечения? Как удалить элемент из RecyclerView с задержкой Не удается увидеть Nexus 6P для отладки Максимальный размер приложения платформы android & BADA Как я могу запустить действие «Добавить контакт» в android Настройка ActionMode Фоновый программный OnSaveInstanceState не сохраняет мои значения (onCreate input Bundle всегда равно null) Размеры видоискателя Android Вызывать активность при событии уведомления о клиенте

Android: разница между ACTION_UP и ACTION_POINTER_UP

Из документа android doc, я действительно не понимаю разницу между ACTION_UP и ACTION_POINTER_UP. http://developer.android.com/reference/android/view/MotionEvent.html#ACTION_DOWN

В основном я хочу захватить событие, когда один палец выпущен с экрана (даже если он еще может касаться его)

благодаря!

Solutions Collecting From Web of "Android: разница между ACTION_UP и ACTION_POINTER_UP"

Я полагаю, что это связано с добавлением Multi-touch, ACTION_UP находится с API уровня 1, но ACTION_POINTER_UP был добавлен в API Level 5, когда был добавлен мультитач.

Результат, который вы получите, будет зависеть от того, какой метод вы вызываете, getAction () вернет ACTION_UP, тогда как getActionMasked () даст ACTION_POINTER_UP, но также позволит вам вызвать getActionIndex (), чтобы узнать, какой из указателей с несколькими касаниями только что был поднят. Я думаю, это то, что вы хотите сделать.

Начните здесь, если вы еще этого не читали: http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html

Android думает о событиях касания с точки зрения жестов. Жест в этом смысле включает в себя все события от первого пальца, который касается экрана до последнего пальца, который покидает экран. Целая последовательность событий одного жестов всегда отправляется на ту же точку зрения, которая была выбрана во время начального ACTION_DOWN, если родитель не перехватил поток событий по какой-либо причине. Если родитель перехватывает поток событий ребенка, дочерний элемент получит ACTION_CANCEL.

Если вы работаете с событиями мультитач, всегда используйте значение, возвращаемое getActionMasked (), чтобы определить действие. Если вам не нужен мультитач или вы работаете со старой версией платформы, вы можете игнорировать события ACTION_POINTER_ *.

  • ACTION_DOWN – это первый палец, касающийся экрана. Это начинает жест. Данные указателя для этого пальца всегда находятся в индексе 0 в MotionEvent.
  • ACTION_POINTER_DOWN – для дополнительных пальцев, которые входят в экран за пределами первого. Данные указателя для этого пальца находятся в индексе, возвращаемом getActionIndex ().
  • ACTION_POINTER_UP отправляется, когда палец покидает экран, но по крайней мере один палец все еще касается его. Последний пример данных о пальце, который поднялся, находится в индексе, возвращаемом getActionIndex ().
  • ACTION_UP отправляется, когда последний палец покидает экран. Последний образец данных о пальце, который поднялся, находится в индексе 0. Это завершает жест.
  • ACTION_CANCEL означает, что весь жест был прерван по какой-то причине. Это завершает жест.