2011-03-09 7 views
10

Я хочу отслеживать касание пальцем на экране. Так что я сделал, чтобы начать запись позиции, когда MotionEvent запускает ACTION_DOWN, но как узнать, когда действие закончено, на ACTION_CANCEL или ACTION_UP?В чем разница между ACTION_CANCEL и ACTION_UP в MotionEvent?

Какая разница между ними?

ответ

17

MotionEvent:

  • ACTION_UP: Прессованный жест закончил движение содержит окончательное расположение выпуска, а также любые промежуточные точки с момента последнего вниз или переместить событие.

  • ACTION_CANCEL: Текущий жест был прерван.

ACTION_CANCEL происходит, когда родитель овладевает движения, например, когда пользователь перетащил достаточно через представление списка, что он начнет прокрутки вместо того, чтобы позволить вам нажимать кнопки внутри него. Подробнее об этом вы можете узнать в документации группы просмотра: onInterceptTouchEvent.

поэтому используйте ACTION_CANCEL, когда действие вытащено из родителя, а ACTION_UP - в противном случае.