Android View類中的生命週期是怎樣的

2021-07-11 22:49:06 字數 834 閱讀 2574

android view有以下14個週期:

1、onfinishinflate() 當view中所有的子控制項均被對映成xml後觸發 。

2、onmeasure( int , int ) 確定所有子元素的大小 。

3、onlayout( boolean , int , int , int , int ) 當view分配所有的子元素的大小和位置時觸發 。

4、onsizechanged( int , int , int , int ) 當view的大小發生變化時觸發 。

5、ondraw(canvas) view渲染內容的細節。 

6、onkeydown( int , keyevent) 有按鍵按下後觸發 。

7、onkeyup( int , keyevent) 有按鍵按下後彈起時觸發 。

8、ontrackballevent(motionevent) 軌跡球事件 。 

9、ontouchevent(motionevent) 觸屏事件 。

10、onfocuschanged( boolean , int , rect) 當view獲取或失去焦點時觸發 。

11、onwindowfocuschanged( boolean ) 當視窗包含的view獲取或失去焦點時觸發 。

12、onattachedtowindow() 當view被附著到乙個視窗時觸發 。

13、ondetachedfromwindow() 當view離開附著的視窗時觸發,android123提示該方法和 onattachedtowindow() 是相反的。 

14、onwindowvisibilitychanged( int ) 當視窗中包含的可見的view發生變化時觸發。

android View的層級結構

我們看到最頂層就是phonewindow decorview,接著decorview下面有乙個linearlayout,linearlayout下面有兩個framelayout 上面那個framelayout是用來顯示標題欄的,這個demo中是乙個textview,當然我們還可以定製我們的標題欄,利...

android view 中各函式的執行順數

這個就好像是 activity 的生命週期一樣,如果我們要使用自定義的 view,那麼就很有必要了解一下 view 的那些能夠被重寫的函式的執行順序。廢話不多講,以常用的5個函式為例子,見下文 1 package com.example.pulltorefreshtest 23 import and...

Android view的測量及繪製

view的測量 首先需要知道的是view的三種測量模式 1 exactly 精確值模式,當我們對view的layout width和layout height屬性指定具體的數值的時候,比如layout width 100dp 或者指定為match parent時,系統 進行測量的時候,使用的是這種模...