事件處理流程
Flutter 事件處理流程主要分兩步,為了聚焦核心流程,我們以用戶觸摸事件為例來說明:
- 命中測驗:當手指按下時,觸發 PointerDownEvent 事件,按照深度優先遍歷當前渲染(render object)樹,對每一個渲染物件進行“命中測驗”(hit test),如果命中測驗通過,則該渲染物件會被添加到一個 HitTestResult 串列當中,
- 事件分發:命中測驗完畢后,會遍歷 HitTestResult 串列,呼叫每一個渲染物件的事件處理方法(handleEvent)來處理 PointerDownEvent 事件,該程序稱為“事件分發”(event dispatch),隨后當手指移動時,便會分發 PointerMoveEvent 事件,
- 事件清理:當手指抬( PointerUpEvent )起或事件取消時(PointerCancelEvent),會先對相應的事件進行分發,分發完畢后會清空 HitTestResult 串列,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/544305.html
標籤:其他
上一篇:app實作外部瀏覽器打開鏈接
