android view介紹 隨心

2021-06-08 05:41:04 字數 1025 閱讀 4655

activity是android程式的顯示層,每乙個顯示視窗都是乙個activity;可是activity本身無法顯示在螢幕上,我們可以把它理解成是乙個抽象層,乙個殼子;就譬如乙個jsp頁面,它本身並沒有顯示出來任何東西,負責顯示的是他生成的html標籤。那麼android裡誰才是真正顯示出來的部分?--是view和viewgroup,而viewgroup其實也是view的子類。

有了上述的概念,我們現在可以講明白乙個activity中的顯示元素是如何顯示出來的了。首先ui元件是按層次結構來由外到內的方式逐步展示的。要將乙個螢幕元素層次樹繫結在乙個螢幕上顯示,activity會呼叫它的setcontentview()方法並且傳入這個層次樹的根節點引用。當activity被啟用並且獲得焦點時,系統會通知activity並且請求根節點去計算並繪製樹,根節點就會請求它的子節點去繪製它們自己。每個樹上的viewgroup節點會負責繪製它的子節點。viewgroup會計算它的有效空間,布局所有的子顯示物件,並最終呼叫所有的子顯示物件的 draw()方法來繪製顯示物件。各個子顯示物件可以向父物件請求它們在布局中的大小和位置,但最終決定各個子顯示物件的大小和位置的是父物件。

android程式借助view和viewgroup物件來構建使用者介面。android提供了比html多得多的,現成的使用者介面元件

二、常用layout介紹

viewgroup是個特殊的view,它繼承於android.view.view。它的功能就是裝載和管理下一層的view物件或viewgroup物件,也就說他是乙個容納其它元素的的容器。viewgroup是布局管理器(layout)及view容器的基類。 viewgroup中,還定義了乙個巢狀類viewgroup.layoutparams。這個類定義了乙個顯示物件的位置、大小等屬性,view通過layoutparams中的這些屬性值來告訴父級,它們將如何放置。

viewgroup是乙個抽象類,所以真正充當容器的是他的子類們。我們在這裡將介紹 幀布局framelayout,線性布局linearlayout,絕對布局absolutelayout,相對布局relativelayout,**布局tablelayout等幾個常用布局

android view繪製過程

簡單描述可以解釋為 計算大小 measure 布局座標計算 layout 繪製到螢幕 draw 下面看看每一步的動作到底是什麼,第一步 當activity啟動的時候,觸發初始化view過程的是由window物件的decorview呼叫view 具體怎樣從xml中讀取是用layoutinflater....

android view怎樣重新整理

兩種方式重新整理 主線程可以直接呼叫invalidate 方法重新整理 子執行緒可以直接呼叫postinvalidate 方法重新整理。api的描述是這樣的 invalidatethe whole view.if the view is visible,ondraw canvas will be c...

Android view點選事件

import android.os.bundle import android.view.keyevent import android.view.motionevent import android.view.view import android.view.view.onclicklistene...