Handling Touch Events

One way to listen for touch events is to set a touch event listener using the following View function:

    fun setOnTouchListener(l: View.OnTouchListener)

This function works the same way as setOnClickListener(View.OnClickListener). You provide an implementation of View.OnTouchListener, and your listener will be called every time a touch event happens.

However, because you are subclassing View, you can take a shortcut and override this View function instead:

    override fun onTouchEvent(event: MotionEvent): Boolean

This function receives an instance of MotionEvent, a class that describes the touch event, including its location and its action. The action describes the stage of the event:

Get Android Programming: The Big Nerd Ranch Guide, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.