0.討論的前提
基于api 29源碼的Viewgroup分析亮元,自定義View重寫dispatchTouchEvent()方法的話也是可以自己隨便生成ACTION_CANCEL事件的唠摹。
1.先說結(jié)論,如下幾種情況會(huì)產(chǎn)生ACTION_CANCEL事件
- 在子View處理事件的過程中煮甥,父View對(duì)事件攔截
- 子View被設(shè)置了PFLAG_CANCEL_NEXT_UP_EVENT標(biāo)記時(shí)
- 在子View處理事件的過程中被從父View中移除時(shí)
- 當(dāng)View從Window中分離時(shí)
2.對(duì)應(yīng)結(jié)論所在源碼位置
1. 在Viewgroup源碼中通過搜索ACTION_CANCEL出現(xiàn)的位置共有9處藕赞,出現(xiàn)在以下幾個(gè)方法中,其中后四個(gè)只是在注釋中
2. 結(jié)論1源碼分析
3.結(jié)論2源碼分析
4.結(jié)論3源碼分析
5.結(jié)論4源碼分析