編輯:高級開發
在android手機操作系統中有很多比較重要的知識點需要我們在學習的過程中詳細了解以方便我們將來的應用。比如android屏幕元素等等。在這裡就會為大家詳細介紹一下有關android屏幕元素分層結構。
android.app.Activity
對於一個Android應用來說,android.app.Activity類實例是一個最基本的功能單元。一個Activity實例可以做很多的事情,但是它本身無法顯示在屏幕上,而是借助於Viewgroup和VIEw,這兩個才是android平台上最基本的兩個用戶界面表達單元。
android.view.VIEwGroup
ViewGroup是一個特殊的VIEw類,它繼承於android.view.View。它的功能就是裝載和管理下一層的View對象和ViewGroup對象。ViewGroup是布局管理器(layout)及vIEw容器的基類。
ViewGroup中,還定義了一個嵌套類ViewGroup.LayoutParams。這個類定義了一個顯示對象的位置、大小等屬性,vIEw通過LayoutParams中的這些屬性值來告訴父級,它們將如何放置。
在這裡,繼承於VIEwGroup的一些主要的布局類如下:
1、FrameLayout:最簡單的一個布局對象。它裡面只顯示一個顯示對象。android屏幕元素中所有的顯示對象都將會固定在屏幕的左上角,不能指定位置。但允許有多個顯 示對象,但後一個將會直接在前 一個之上進行覆蓋顯示,把前一個部份或全部擋住(除非後一個是透明的)。
2、LinearLayout:以單一方向對其中的顯示對象進行排列顯示,如以垂直排列顯示,則布局管理器中將只有一列;如以水平排列顯示,則布局管理器中將只有一行。同時,它還可以對個別的顯示對象設置顯示比例。
3、TableLayout:以擁有任意行列的表格對顯示對象進行布局,每個顯示對象被分配到各自的單元格之中,但單元格的邊框線不可見。
4、AbsoluteLayout:允許以坐標的方式,指定顯示對象的具體位置,左上角的坐標為(0, 0),向下及向右,坐標值變大。這種布局管理器由於顯示對象的位置定死了,所以在不同的設備上,有可能會出現最終的顯示效果不一致。
5、RelativeLayout:允許通過指定顯示對象相對於其它顯示對象或父級對象的相對位置來布局。如一個按鈕可以放於另一個按鈕的右邊,或者可以放在布局管理器的中央。
在android中,提供了很多的布局管理器,這裡也不一一列舉,開發者可以根據實際需要,選擇合適的布局管理器。
android.view.VIEw
View是所有view類的基類,一個view通常占用Android屏幕元素上的一個矩形區域,並負責繪圖及事件處理。VIEw是所有窗體部件的基類,是為窗體部件服務的,這裡的窗體部件即UI控件,如一個按鈕或文本框。android已經為我們提供了一系列的標准UI控件供我們直接使用,同時,我們也可以通過繼承於 View類或VIEw的子類,來實現我們自定義的UI控件。
要定制我們自己的UI控件,需要重載VIEw類中的一些方法,以下表格列出VIEw提供出來的,供重載的方法,這些方法不必都要重載,但至少要實現onDraw(android.graphics.Canvas)方法。
當你為一個 activty 添加一個可見的 vIEw, 並且運行這個activty時,android通常情況下會自動按照下列順序來觸發vIEw的相關事件
對於Android應用中的一個屏幕,android屏幕元素是按層次結構來描述的。要將一個屏幕元素層次樹綁定在一個屏幕上顯示,Activity會調用它的 setContentVIEw()方法並且傳入這個層次樹的根節點引用。當Activity被激活並且獲得焦點時,系統會通知activity並且請求根節點去計算並繪制樹,根節點就會請求它的子節點去繪制它們自己。
android屏幕元素中每個樹上的ViewGroup節點會負責繪制它的子節點。VIEwGroup會計算它的有效空間,布局所有的子顯示對象,並最終調用所有的子顯示對象的 Draw()方法來繪制顯示對象。各個子顯示對象可以向父對象請求它們在布局中的大小和位置,但最終決定各個子顯示對象的大小和位置的是父對象。
tp://images.cnblogs.com/cnblogs_com/phinecos/20080415/2009082805.jpg border=0 alt= w
下面文章著重講解界面的android UI部分,基本的操作大家還是了解的,把整個屏幕看做一個二維數組,每一個元素可以視為一個方塊,因此每個方格在游戲進行過程中可以處於不
盡管蘋果聯合創始人承認:android將取得最終勝利,不過很多人認為過於開放的環境依然不利於android,無差異的應用體驗正在制約Android超過iPhone。日前
由於目前基於android的手機價格比較貴。如果只是為了體驗android,花幾千元買個手機也不值得。不過幸好Google想到了這一點,剛剛推出了Android Li