觸摸事件的傳遞順序是Activity到Viewgroup,再由Viewgroup傳遞給它的子View。
uj5u.com熱心網友回復:
說的太不完整了,應該是 activity 先看自己是否處理事件,如果不處理就給當前activity最頂級的ViewGroup,如果這個ViewGroup下面還有ViewGroup,而且自己不處理,就往下傳,傳到子View,如果子View還是不處理,則是回傳給 Activity 的onTouchEvent處理。
其中如果有哪一個環節 要處理 ,OnTouchEvent 就回傳true,對于 ViewGroup如果 onTouchEvent會執行他的父類View的onTouchEvent方法,而因為View 的onTouchEvent回傳的值,受 OnTouchListener的回傳值、OnClickListener是否實作 影響
而且其中ViewGroup是否分發給 下級View(或者ViewGroup),是由當前ViewGroup onInterceptEvent和下級View(ViewGroup)的disallowIntercept共同決定,判斷代碼為 if( !onInterceptEvent || view.disallowIntercept)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/140316.html
標籤:Android
