【Android开发坑系列】之事件
總結一下:
1.Touch事件分發中只有兩個主角:
ViewGroup和View。
ViewGroup包含onInterceptTouchEvent、dispatchTouchEvent、onTouchEvent三個相關事件。View包含dispatchTouchEvent、onTouchEvent兩個相關事件。其中ViewGroup又繼承于View。
2.觸摸事件由Action_Down、Action_Move、Aciton_UP組成,其中一次完整的觸摸事件中,Down和Up都只有最多一個,Move有若干個,可以為0個。
定律:當dispatchTouchEvent在進行事件分發的時候,只有前一個action返回被處理(消費)掉,才會觸發后一個action。
3.事件傳遞的兩種方式:?
隧道方式:從根元素依次往下傳遞直到最內層子元素或在中間某一元素中由于某一條件停止傳遞;
冒泡方式:從最內層子元素依次往外傳遞直到根元素或在中間某一元素中由于某一條件停止傳遞。?
dispatchTouchEvent是隧道方式,onTouchEvent是冒泡方式(若返回true,則上層不再處理)。?
4.onInterceptTouchEvent有兩個作用:
攔截Down事件的分發;
中止Up和Move事件向目標View傳遞,使得目標View所在的ViewGroup捕獲Up和Move事件。
?
參考:http://blog.csdn.net/liutao5757124/article/details/6097125?
?
本文轉自Kai的世界,道法自然博客園博客,原文鏈接:http://www.cnblogs.com/kaima/p/4788625.html,如需轉載請自行聯系原作者。
總結
以上是生活随笔為你收集整理的【Android开发坑系列】之事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS 装饰器(Decorator)场景实
- 下一篇: ubuntu12.04环境下使用kvm