01 - [開胃菜] - Activity.setContentView 涉及到的類及相關(guān)概念

01 - [開胃菜] - Activity.setContentView 涉及到的類及相關(guān)概念
02 - [正菜] - Activity.setContentView流程
03 - [甜湯] - AppCompatActivity.setContentView 流程
04 - [完結(jié)] - setContentView 流程總結(jié)

大家新年好, 病毒肆虐期間, 在家學(xué)習(xí)學(xué)習(xí), 馬上就要復(fù)工了, 提前調(diào)整調(diào)整狀態(tài).
setContentView 是我們經(jīng)常用到的, 可是后面都做了什么, 大家了解嗎?

千里之行始于足下, 現(xiàn)在我們先來了解 Activity 的 setContentView 后續(xù)流程中的涉及到的類和相關(guān)的幾個概念.

1. 1 Window.java

官方注釋翻譯:

是一個頂層窗口外觀和行為策略的抽象基類, 這個類的實例應(yīng)作為頂層視圖添加到窗口管理器. 它提供了標(biāo)準(zhǔn)的UI策略, 比如背景, 標(biāo)題其余, 默認(rèn)密鑰處理等.

此抽象類的唯一實現(xiàn)類是 android.view.PhoneWindow.

1.2 DecorView.java

DecorView 繼承 FrameLayout 官方注釋翻譯如下:

這是窗口的頂層視圖, 包含窗口裝飾.

理解:

DecorView 就是一個FrameLayout, 是最頂層的View. 它包含了Window 的裝飾(背景, 標(biāo)題, UI策略等), 會體現(xiàn)在這個View上.

看到這里可以知道了兩個概念.

頂層窗口 Window (PhoneWindow)

頂層視圖 View (DecorView)

它們兩個關(guān)系如下: 頂級窗口包含的狀態(tài)屬性, 會在頂級視圖體體現(xiàn)出來, 比如窗口大小, 背景, 標(biāo)題, 等.

1.3 PhoneWindow.mContentParent 變量

mContentParent 是 PhoneWindow 中的一個 ViewGroup 類型的變量, 官網(wǎng)注釋翻譯如下

這是一個放置窗口內(nèi)容的視圖, 它不是 mDecor 本身, 就是一個mDecor 的子View

( mDecor 是 PhoneWindow 中的一個 DecorView 類型的變量. )

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容