Android中View大小的確定過程

2021-07-02 15:57:50 字數 852 閱讀 1461

安卓中有5種基本的viewgroup:

viewgroup可以新增子view,在xml檔案裡面,我們可以這樣寫:

android:layout_width=

"match_parent"

android:layout_height=

"100dp"

>

android:layout_width=

"match_parent"

android:layout_height=

"wrap_content"

/>

android:layout_width=

"match_parent"

android:layout_height=

"20dp"

/>

子view有乙個期望的尺寸大小,父容器有尺寸大小約束,這兩方面的約束協調,用來計算view的大小狀態。

根據父容器的尺寸狀態,以及子view的layoutparams,可以確定子view的大小和狀態:measurespec,並要求子view確定自身大小。

呼叫子view的measure()方法,子view的onmeasure()方法也會被執行。

子view在onmeasure()方法中,根據父容器給出的尺寸大小和約束,根據自身情況,確定最終的大小。

父容器根據子view的確定的大小,最終確定自身大小。

需要考慮的因素

需要確定的

尺寸確定的規則

Android中View的測量

即精確值模式,當我們將空間的width或height制定為具體值 或者為match parent時,此時將佔據父容器的大小,使用的就是exactly。最大值模式,當空間的寬高屬性制動為自適應wrap content時,控制項大小一般隨著空間的子空間或內容的變化而發生改變,此時view的尺寸只要不超過...

android中的View的物件

我們知道android sdk中的ui控制項都是view或viewgroup的子類 viewgroup也是view的子類 我們將view細分為單獨view和容器view兩種,所亦就衍生兩個檢視基類 view和viewgroup。通過擴充套件這兩個基類,android sdk提供了一系列害能強大,設計...

android 中 View的建構函式

今天在照著android瘋狂講義中的 來敲,敲完後執行錯誤,仔細檢視才知道自己沒有重寫view中的構造方法 實現跟隨手勢的小球的 public view context context public view context context,attributeset attrs,int defsty...