標籤:view 標題列 就是 一個 工作列 子類 lag 流程 操作
什麼是Activity?
Activity是 使用者操作的可視化介面;它為使用者提供了一個放置視圖和互動操作的視窗。採用setContentView的方法提供。因此,可以理解Activity、Window、View三者關係為。Activity提供Window ,View被添加到Window中。
以刷牆舉例:
Activity可以理解為房間,Window就是房間內的牆面, 我們在牆面上可以刷各種不同的圖案,這些圖案就是View。
Activity View的載入流程
1、Activity在被建立之初,調用了attach方法,這個時候,為Activity建立了一個PhoneWindow, 並且為PhoneWindow設定了事件互動的回掉。
2、緊接著Activity的onCreate()方法被回掉。這裡也就到了我們經常複寫方法,我們在OnCreate()之中,調用setContentView(id)。
3、在setContentView(), PhoneWindow 建立了一個頂級視圖 DecorView (FrameLayout)的子類。
4、緊接著,DecorView會依據一些feature(類似NO_ACTICON_BAR)來,添加一個layout。這個Layout中包含了Title、content。其中content也是FrameLayout,也就是我們在setContentView(id),將視圖添加的父容器。
所以我們必須要在setContentView之前設定實現全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
實現無標題列(但有系統內建的工作列):
requestWindowFeature(Window.FEATURE_NO_TITLE);
Android View的載入流程