cancel事件

一直很奇怪cancel事件,而且一直認爲cancel事件是在移出子view範圍後cancel替代了up事件
實際上呢,不完全對
什麼時候會發送cancel事件呢,首先在代碼中搜索一下看看哪裏用到了cancel事件
發現,當view被移除窗口的時候並且有觸摸目標的時候會發送一個cancel事件
可是我還是覺得我之前的理解是正確的,因爲我曾經試驗過
於是再次寫下代碼,linearLayout1中嵌套linearLayout2,再嵌套一個textView,結果發現down在textView,move出textView,在linearLayout2中鬆開,這個過程中並沒有觸發cancel,奇了怪了。
於是再看源碼,發現在onInterceptTouchEvent的註釋中有cancel關鍵字
如此說來,當父view把事件攔截的時候,本該處理該事件的子view就會接受到一個cancel事件
soga,看來之前我寫的測試demo用了scrollView,手指移出去之後就被判定爲滑動了,那肯定也就攔截了,所以纔會有這一結論:移除範圍後接受cancel事件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章