Android開發藝術探索筆記 第四章 View的工作原理

在Android中,View是一個很重要的角色,簡單來說,View是Android中視覺的呈現,在界面上Android提供了一套完整的GUI庫,裏面有很多控件,但是有時候往往並不能滿足於需求,所以只有自定義View了,我們會簡單的說下流程,然後再去實踐

除了View的三大流程之外,View常見的回調方法也是必須掌握的,比如構造方法,onAttach,onVisibilityChanged,onDetach,另外對於一些有滑動效果的自定義View,還要處理滑動事件和滑動衝突,總的來說,自定義View有幾種固定的類型,View或者ViewGroup,有的直接重寫原生控件,這個就要看需求了

一.初識ViewRoot和DecorView
在正式介紹View的三大流程之前,我們還是要了解一些基本的概念,所以本章會說下ViewRoot和DecorView

ViewRoot對應於ViewRootImpl類,他是連接WindowManager和DecorView的紐帶,View的三大流程都是通過ViewRoot來完成的,在ActivityThread中,當Activity被創建完畢後,會將DecorView添加到Window中,同時會創建ViewRootImpl對象,並將ViewRootImpl對象和DecorView建立聯繫,這個可以參照官網:

root = new ViewRootImpl(view.getContext(),display);
root.setView(view,wparams,panelParentView);
View的繪製流程從ViewRoot的perfromTraversals方法開始,他警告measure,layout和draw三個過程才能將View畫出來,,其中measure測量,layout確定view在容器的位置,draw開始繪製在屏幕上,針對perfromTraversals的大致流程,可以看圖
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章