Challenge: Rotating Boxes

For a harder challenge, make it so that you can use a second finger to rotate your rectangles. To do this, you will need to handle multiple pointers in your MotionEvent handling code. You will also need to rotate your canvas.

When dealing with multiple touches, you need these extra ideas:

pointer index

tells you which pointer in the current set of pointers the event is for

pointer ID

gives you a unique ID for a specific finger in a gesture

The pointer index may change, but the pointer ID will not.

For more details, check out the documentation for the following MotionEvent functions:

 final fun getActionMasked(): Int final fun getActionIndex(): Int final fun getPointerId(pointerIndex: ...

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

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.