Collectives™ on Stack Overflow
Find centralized, trusted content and collaborate around the technologies you use most.
Learn more about Collectives
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Learn more about Teams
From the android doc alone I dont really understand the difference between
ACTION_UP
and
ACTION_POINTER_UP
.
http://developer.android.com/reference/android/view/MotionEvent.html#ACTION_DOWN
Basically I want to capture the event when one finger is released from the screen (even if another one may still be touching it)
Start here if you haven't read it already:
http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html
Android thinks about touch events in terms of gestures. A gesture in this sense includes all events from the first finger that touches the screen to the last finger that leaves the screen. A single gesture's entire event sequence is always sent to the same view that was picked during the initial
ACTION_DOWN
unless a parent intercepts the event stream for some reason. If a parent intercepts a child's event stream, the child will get
ACTION_CANCEL
.
If you're working with multitouch events, always use the value returned by getActionMasked() to determine the action. If you don't need multitouch or are working with an older platform version, you can ignore the
ACTION_POINTER_*
events.
ACTION_DOWN
is for the first finger that touches the screen. This starts the gesture. The pointer data for this finger is always at index 0 in the MotionEvent.
ACTION_POINTER_DOWN
is for extra fingers that enter the screen beyond the first. The pointer data for this finger is at the index returned by getActionIndex().
ACTION_POINTER_UP
is sent when a finger leaves the screen but at least one finger is still touching it. The last data sample about the finger that went up is at the index returned by getActionIndex().
ACTION_UP
is sent when the last finger leaves the screen. The last data sample about the finger that went up is at index 0. This ends the gesture.
ACTION_CANCEL
means the entire gesture was aborted for some reason. This ends the gesture.
–
I believe it stemmed from Multi-touch being added in,
ACTION_UP
has been in since API Level 1, but
ACTION_POINTER_UP
was added in API Level 5 when multi-touch was added.
The result you get will depend on which method you are calling,
getAction()
would return
ACTION_UP
whereas
getActionMasked()
would give
ACTION_POINTER_UP
but also allow you to call
getActionIndex()
to find out which of the multi-touch pointers has just been raised. I think this is what you want to do.
–
Thanks for contributing an answer to Stack Overflow!
-
Please be sure to
answer the question
. Provide details and share your research!
But
avoid
…
-
Asking for help, clarification, or responding to other answers.
-
Making statements based on opinion; back them up with references or personal experience.
To learn more, see our
tips on writing great answers
.