Android Touch System
-
Upload
nanik-tolaram -
Category
Technology
-
view
644 -
download
1
Transcript of Android Touch System
![Page 2: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/2.jpg)
topic 2topic 3topic 4
Thank Thank You !You !
![Page 3: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/3.jpg)
• Android Platform Engineer@ BlocksGlobal.comAndroid Platform Engineer@ BlocksGlobal.com
• Design ScreenerOS – www.screener.digitalDesign ScreenerOS – www.screener.digital
• Android writer for magazine.odroid.comAndroid writer for magazine.odroid.com
• AOSP Contributor - now and then :)AOSP Contributor - now and then :)
About MeAbout Me
![Page 4: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/4.jpg)
The StackThe Stack
![Page 5: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/5.jpg)
Touch HardwareTouch Hardware• Capacitive / Resistive ScreenCapacitive / Resistive Screen
• Touch Controller (Single / Multi Touch)Touch Controller (Single / Multi Touch)
![Page 6: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/6.jpg)
Touch ScreenTouch Screen
http://i.cmpnet.com/planetanalog/2009/06/C0411-Figure2.gif
![Page 7: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/7.jpg)
Touch ScreenTouch Screen
https://www.ifixit.com/Teardown/Samsung+Galaxy+S6+Teardown/38636
![Page 8: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/8.jpg)
Touch ScreenTouch Screen
https://www.ifixit.com/Teardown/Motorola+Moto+360+Teardown/28891
![Page 9: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/9.jpg)
Touch ScreenTouch Screen
https://www.ifixit.com/Teardown/OnePlus+2+Teardown/45352
![Page 10: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/10.jpg)
Touch ScreenTouch Screen
https://www.ifixit.com/Teardown/Disassembling+Nexus+5+Display+Teardown+-+liquid+damage/32410
![Page 11: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/11.jpg)
Touch ControllerTouch Controller
https://www.ifixit.com/Teardown/Nexus+5+Teardown/19016
![Page 12: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/12.jpg)
Touch ControllerTouch Controller
https://www.ifixit.com/Teardown/Samsung+Galaxy+S6+Teardown/39174
![Page 13: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/13.jpg)
Touch ControllerTouch Controller
https://www.ifixit.com/Teardown/Nexus+9+Teardown/31425
![Page 14: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/14.jpg)
End-to-End FlowEnd-to-End Flow
Linux Kernel
Input Framework Input Queue
View Root
App View
![Page 15: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/15.jpg)
• Single (1 finger) and Multi (>1 finger)Single (1 finger) and Multi (>1 finger)
• “ “Bubbling” of event through UI hierarchyBubbling” of event through UI hierarchy
• ALLALL UI element has method to handle touchUI element has method to handle touch
• Touch = single tap, double tap, long pressTouch = single tap, double tap, long press
• Gesture = fling, scroll, pinch and zoomGesture = fling, scroll, pinch and zoom
Touch & GesturesTouch & Gestures
![Page 16: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/16.jpg)
Touch & Touch & GesturesGestures
http://static.lukew.com/TouchGestureGuide.pdf
![Page 17: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/17.jpg)
Touch EventsTouch Events• Single TouchSingle Touch
– ACTION_DOWNACTION_DOWN– ACTION_MOVEACTION_MOVE– ACTION_UPACTION_UP
• Multi TouchMulti Touch– ACTION_DOWNACTION_DOWN– ACTION_POINTER_DOWNACTION_POINTER_DOWN– ACTION_MOVEACTION_MOVE– ACTION_POINTER_UPACTION_POINTER_UP– ACTION_UPACTION_UP
![Page 18: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/18.jpg)
Touch EventsTouch Events Multi touch ( Pinch & Zoom ) Calculate distance between 2 finger between
ACTION_POINTER_DOWN and ACTION_MOVE
Single touch ( Double tap ) Calculate time between ACTION_DOWN and ACTION_UP
Single touch ( Fling ) Calculate distance between ACTION_DOWN and ACTION_MOVE
(more than 'touch slop')
![Page 19: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/19.jpg)
APIAPI• Common GesturesCommon Gestures
– ScaleGestureDetector (scaling)ScaleGestureDetector (scaling)– GestureDetectorCompat (fling, double tap, GestureDetectorCompat (fling, double tap,
etc) [ backward compatible ]etc) [ backward compatible ]
• Simple case - onTouchListener (from View)Simple case - onTouchListener (from View)
• Always return TRUE on onTouchEventAlways return TRUE on onTouchEvent
• Use getActionMasked()Use getActionMasked()
![Page 20: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/20.jpg)
• google.com/design/spec/patterns/gestures.html google.com/design/spec/patterns/gestures.html
• developer.android.com/training/gestures/index.htmldeveloper.android.com/training/gestures/index.html
ReferencesReferences
![Page 21: Android Touch System](https://reader036.fdocuments.us/reader036/viewer/2022062523/58f354651a28ab8d568b45d9/html5/thumbnails/21.jpg)
Thank YouThank You