對Android窗體的組成部分進(jìn)行研究分析
Android窗體作為谷歌企業(yè)戰(zhàn)略的重要組成部分,一個可擴(kuò)展的視圖(Views )可以用來建應(yīng)用程序,包括列表(lists),網(wǎng)格(grids),文本框(text boxes),按鈕(buttons),甚至包括一個可嵌入的web瀏覽器 。
文本框的width被設(shè)置為FILL_PARENT;其它元素的width被設(shè)置為WRAP_CONTENT。默認(rèn)的對齊方式為左對齊。左邊的窗體沒有設(shè)置weight(默認(rèn)為0);右邊的窗體的comments文本框weight被設(shè)置為1。如果Name文本框也被設(shè)置為1,那么Name和Comments這兩個文本框?qū)型瑯拥母叨取?/p>
在一個水平排列的LinearLayout中,各項(xiàng)按他們的文本基線進(jìn)行排列(第一列第一行的元素,即最上或最左,被設(shè)定為參考基線)。因此,人們在一個窗體中檢索元素時,就不需要七上八下地讀元素的文本了。我們可以在layout的XML中設(shè)置來關(guān)閉這個設(shè)置。
Android窗體的一個TableLayout由許多的TableRow組成,每個TableRow都會定義一個row(事實(shí)上,你可以定義其它的子對象,這在下面會解釋到)。TableLayout容器不會顯示row、cloumns或cell的邊框線。每個row擁有0個或多個的cell;每個cell擁有一個View對象。
表格由列和行組成許多的單元格。表格允許單元格為空。單元格不能跨列,這與HTML中的不一樣。下圖顯示了一個TableLayout,圖中的虛線代表不可視的單元格邊框。這個視圖顯示了屏幕元素的類名稱,下面是每個元素的屬性列表。這些屬性一部份是由元素直接提供,另一部份是由容器的LayoutParams成員(RelativeLayout的子類)提供。
RelativeLayout參數(shù)有width,height,below,alignTop,toLeft,padding和marginLeft。注意,這些參數(shù)中的一部份。其值是相對于其它子元素而言的,所以才RelativeLayout。這些參數(shù)包括toLeft,alignTop和below,用來指定相對于其它元素的左,上和下的位置。
它采用了軟件堆層(software stack,又名軟件疊層)的架構(gòu),主要分為三部分:底層以Linux核心為基礎(chǔ),由c語言開發(fā),只提供基本功能。中間層包括函數(shù)庫Library和虛擬機(jī)Virtual Machine,由C+開發(fā)。最上層是各種應(yīng)用軟件,包括通話程序,短信程序等,應(yīng)用軟件則由各公司自行開發(fā),以java編寫。
為了推廣此技術(shù),Google和其它幾十個手機(jī)公司建立了開放手機(jī)聯(lián)盟(Open Handset Alliance)。Android窗體作為谷歌企業(yè)戰(zhàn)略的重要組成部分,將進(jìn)一步推進(jìn)“隨時隨地為每個人提供信息”這一企業(yè)目標(biāo)的實(shí)現(xiàn)。
全球?yàn)閿?shù)眾多的移動電話用戶正在使用各種基于 Android 的電話。谷歌的目標(biāo)是讓(移動通訊)不依賴于設(shè)備甚至平臺。出于這個目的,Android 將補(bǔ)充,而不會替代谷歌長期以來奉行的移動發(fā)展戰(zhàn)略:通過與全球各地的手機(jī)制造商和移動運(yùn)營商結(jié)成合作伙伴,開發(fā)既有用又有吸引力的移動服務(wù),并推廣這些產(chǎn)品。
【編輯推薦】