线上验证测试阿里云
上面的代碼通過super.dispatchTouchEvent(ev)調用了DecorView的父類FrameLayout,該類倒是沒有重寫dispatchTouchEvent而是由它的父類ViewGroup實現:在分析ViewGroup分發事件之前還得說兩結論:
1)ViewGroup永遠不會對攔截,因為他的onInterceptTouchEvent(MotionEvent ev)始終返回的是false!這樣DecorView對到來的事件MotionEvent就只有分發到子View并由子View進行攔截和處理此事件了.
2)View包括直接繼承于View的子類因為其父類View沒有onInterceptTouchEvent方法,所以沒法對事件進行攔截,如果這種View獲取到了事件,那么就會執行onTouchEvent方法(當然這也是有條件的,這個前提條件在對下面onTouch方法作用的時候會有說明)。
A) View類對事件的處理:
比如Button的直接父類TextVew的父類為View,那么當Button獲取事件的時候其執行分發和處理的時候調用dispatchTouchEvent,就先分析一下View的這個方法都做了什么以供博客后面的篇幅用:
作者:chunqiuwei
來源:CSDN
原文:https://blog.csdn.net/chunqiuwei/article/details/50164791
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
總結