件在視圖之間傳遞的順序大概是這樣的:
父容器的dispatchTouchEvent-->調用內部容器的dispatchTouchEvent-->調用基本控件的dispatchTouchEvent.
這裏的容器就是ViewGroup, 控件就是各類View.
經過這樣的傳遞, 一個複雜的組件對它的上層來講就變得統一了: 我不要去關心你裏面有什麼亂七八糟的基本控件, 怎麼擺放, 怎麼處理. 我分分鐘幾十萬上下, 找一個小小的具體的Button我累不累? 反正我就把事件丟給你, 怎麼處理你來決定.
一樣他的下級也是這個思路, 把事件丟到更下一級, 最終傳達到一個Button讓它響應處理.
這就是責任鏈模式.
父容器的dispatchTouchEvent-->調用內部容器的dispatchTouchEvent-->調用基本控件的dispatchTouchEvent.
這裏的容器就是ViewGroup, 控件就是各類View.
經過這樣的傳遞, 一個複雜的組件對它的上層來講就變得統一了: 我不要去關心你裏面有什麼亂七八糟的基本控件, 怎麼擺放, 怎麼處理. 我分分鐘幾十萬上下, 找一個小小的具體的Button我累不累? 反正我就把事件丟給你, 怎麼處理你來決定.
一樣他的下級也是這個思路, 把事件丟到更下一級, 最終傳達到一個Button讓它響應處理.
這就是責任鏈模式.