cancel事件
一直很奇怪cancel事件,而且一直認(rèn)為cancel事件是在移出子view范圍后cancel替代了up事件
實際上呢,不完全對
什么時候會發(fā)送cancel事件呢,首先在代碼中搜索一下看看哪里用到了cancel事件
發(fā)現(xiàn),當(dāng)view被移除窗口的時候并且有觸摸目標(biāo)的時候會發(fā)送一個cancel事件
可是我還是覺得我之前的理解是正確的,因為我曾經(jīng)試驗過
于是再次寫下代碼,linearLayout1中嵌套linearLayout2,再嵌套一個textView,結(jié)果發(fā)現(xiàn)down在textView,move出textView,在linearLayout2中松開,這個過程中并沒有觸發(fā)cancel,奇了怪了。
于是再看源碼,發(fā)現(xiàn)在onInterceptTouchEvent的注釋中有cancel關(guān)鍵字
如此說來,當(dāng)父view把事件攔截的時候,本該處理該事件的子view就會接受到一個cancel事件
soga,看來之前我寫的測試demo用了scrollView,手指移出去之后就被判定為滑動了,那肯定也就攔截了,所以才會有這一結(jié)論:移除范圍后接受cancel事件
總結(jié)
- 上一篇: 图模型在欺诈检测应用一点看法
- 下一篇: SWUST OJ312: 偷菜