Skip to content

onTouchEvent

Daniel Park edited this page Jan 20, 2018 · 10 revisions

Android onTouchEvent

Required video you should watch! : https://www.youtube.com/watch?v=SYoN-OvdZ3M
(Android onTouchEvent Part 1)

pointers

How Android Handles Touches

  • Each user touch event is wrapped up as MotionEvent
  • Describe user's current action
    • ACTION_DOWN
    • ACTION_UP
    • ACTION_MOVE
    • ACTION_POINTER_DOWN
    • ACTION_POINTER_UP
    • ACTION_CANCEL
  • Event metadata included
    • Touch location
    • Number of pointers (fingers)
    • Event time
  • A 'gesture' is defined as begining with ACTION_DOWN and ending with ACTION_UP


How a ViewGroup's simple dispatchTouch looks like?

public boolean dispatchTouchEvent(MotionEvent ev) {
    if (!onInterceptTouchEvent()) {
        for (int i = children.size(); i >= 0; i--){
            if (children.get(i).dispatchTouchEvent(ev))
                return true;
        }
        return super.dispatchTouchEvent(ev);
    }
}

Clone this wiki locally