Android五大布局對象_第1頁
Android五大布局對象_第2頁
Android五大布局對象_第3頁
Android五大布局對象_第4頁
Android五大布局對象_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 Android基礎(chǔ)教程(二)之五大布局對象-FrameLayout,LinearLayout ,AbsoluteLayout,RelativeLayout,TableLayout.分類: Android基礎(chǔ)教程2009-11-06 23:34 27732人閱讀 評論(39) 收藏 舉報 大家好,我們這一節(jié)講一下Android對用五大布局對象,它們分別是FrameLayout(框架布局:不知道是不是這么翻譯的),LinearLayout (線性布局),AbsoluteLayout(絕對布局),RelativeLayout(相

2、對布局),TableLayout(表格布局). FrameLayout: FrameLayout是最簡單的一個布局對象。它被定制為你屏幕上的一個空白備用區(qū)域,之后你可以在其中填充一個單一對象 比如,一張你要發(fā)布的圖片。所有的子元素將會固定在屏幕的左上角;你不能為FrameLayout中的一個子元素指定一個位置。后一個子元素將會直接在前 一個子元素之上進(jìn)行覆蓋填充,把它們部份或全部擋?。ǔ呛笠粋€子元素是透明的)。 我們看一下效果圖:  其中Main.xml 代碼如下: <?xml version="1.0&q

3、uot; encoding="utf-8"?>     android:layout_width="fill_parent"    android:layout_height="fill_parent"    > <!- 我們在這里加了一個Button按鈕 -> <Button     android:text="button"

4、     android:layout_width="fill_parent"    android:layout_height="wrap_content"/> <TextView     android:text="textview"    android:textColor="#0000ff"    

5、 android:layout_width="wrap_content"    android:layout_height="wrap_content"/> </FrameLayout> LinearLayout: LinearLayout以你為它設(shè)置的垂直或水平的屬性值,來排列所有的子元素。所有的子元素都被堆放在其它元素之后,因此一個垂直列表的每一行只會有 一個元素,而不管他們有多寬,而一個水平列表將會只有一個行高(高度為最高子元素的高度加上邊框高度)。LinearLayou

6、t保持子元素之間的間隔以 及互相對齊(相對一個元素的右對齊、中間對齊或者左對齊)。 LinearLayout還支持為單獨的子元素指定weight 。好處就是允許子元素可以填充屏幕上的剩余空間。這也避免了在一個大屏幕中,一串小對象擠 成一堆的情況,而是允許他們放大填充空白。子元素指定一個weight 值,剩余的空間就會按這些子元素指定的weight 比例分配給這些子元素。默認(rèn)的 weight 值為0。例如,如果有三個文本框,其中兩個指定了weight 值為1,那么,這兩個文本框?qū)⒌缺壤胤糯螅⑻顫M剩余的空間,而第三個文本框

7、不會放大。 我們看一下效果圖:  其中Main.xm l代碼如下: <?xml version="1.0" encoding="utf-8"?>     android:orientation="vertical"     android:layout_width="fill_parent"    android:layout_height=&q

8、uot;fill_parent">   <LinearLayout     android:orientation="vertical"     android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:layout_weig

9、ht="2">     <TextView        android:text="Welcome to Mr Wei's blog"         android:textSize="15pt"        android:layout_width="fill_paren

10、t"        android:layout_height="wrap_content"     />     </LinearLayout>     <LinearLayout     android:orientation="horizontal"  

11、60;  android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:layout_weight="1">         <TextView         android:t

12、ext="red"        android:gravity="center_horizontal" /這里字水平居中        android:background="#aa0000"        android:layout_width="wrap_content"    &

13、#160;   android:layout_height="fill_parent"        android:layout_weight="1"/>     <TextView         android:text="green"       

14、android:gravity="center_horizontal "        android:background="#00aa00"        android:layout_width="wrap_content"        android:layout_height="fill_parent" &

15、#160;      android:layout_weight="1"/>        </LinearLayout></LinearLayout> AbsoluteLayout: AbsoluteLayout 可以讓子元素指定準(zhǔn)確的x/y坐標(biāo)值,并顯示在屏幕上。(0, 0)為左上角,當(dāng)向下或向右移動時,坐標(biāo)值將變大。AbsoluteLayout 沒有頁邊框,允許元素之間互相重疊(盡

16、管不推薦)。我們通常不推薦使用 AbsoluteLayout ,除非你有正當(dāng)理由要使用它,因為它使界面代碼太過剛性,以至于在不同的設(shè)備上可能不能很好地工作。 我們看一下效果圖:  其中Main.xm l代碼如下: <?xml version="1.0" encoding="utf-8"?>     android:orientation="vertical"    android:la

17、yout_width="fill_parent"    android:layout_height="fill_parent"    ><EditText     android:text="Welcome to Mr Wei's blog"    android:layout_width="fill_parent"     a

18、ndroid:layout_height="wrap_content" /> <Button     android:layout_x="250px" /設(shè)置按鈕的X坐標(biāo)    android:layout_y="40px" /設(shè)置按鈕的Y坐標(biāo)    android:layout_width="70px" /設(shè)置按鈕的寬度 &

19、#160;  android:layout_height="wrap_content"    android:text="Button" /> </AbsoluteLayout>RelativeLayout: RelativeLayout 允許子元素指定他們相對于其它元素或父元素的位置(通過ID 指定)。因此,你可以以右對齊,或上下,或置于屏幕中央的形式來 排列兩個元素。元素按順序排列,因此如果第一個元素在屏幕的中央,那么相對于這個元素的

20、其它元素將以屏幕中央的相對位置來排列。如果使用XML 來指定這個 layout ,在你定義它之前,被關(guān)聯(lián)的元素必須定義。 讓我們看一下效果圖:  其中Main.xml 代碼如下: <?xml version="1.0" encoding="utf-8"?>     android:layout_width="fill_parent"    android:layout_hei

21、ght="fill_parent">    <TextView         android:id="+id/label"         android:layout_width="fill_parent"        android:lay

22、out_height="wrap_content"        android:text="Welcome to Mr Wei's blog:"/>     <EditText         android:id="+id/entry"      

23、;   android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_below="id/label"/>     <Button   &

24、#160;     android:id="+id/ok"         android:layout_width="wrap_content"        android:layout_height="wrap_content"        andro

25、id:layout_below="id/entry"         android:layout_alignParentRight="true"        android:layout_marginLeft="10dip"        android:text="OK" />

26、     <Button         android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_toLeftOf="id/o

27、k"        android:layout_alignTop="id/ok"        android:text="Cancel" /> </RelativeLayout> TableLayout: TableLayout 將子元素的位置分配到行或列中。一個TableLayout 由許多的TableRow 組成,每個Ta

28、bleRow都會定義一個 row (事實上,你可以定義其它的子對象,這在下面會解釋到)。TableLayout 容器不會顯示row、cloumns 或cell 的邊框線。每個 row 擁有0個或多個的cell ;每個cell 擁有一個View 對象。表格由列和行組成許多的單元格。表格允許單元格為空。單元格不能跨列,這與HTML 中的不一樣。 下面讓我們看一下效果圖:  其中Main.xml 代碼如下: <?xml version=

29、"1.0" encoding="utf-8"?>     android:layout_width="fill_parent" android:layout_height="fill_parent"    android:stretchColumns="1">    <TableRow>       &#

30、160; <TextView android:layout_column="1" android:text="Open." />        <TextView android:text="Ctrl-O" android:gravity="right" />    </TableRow>     <TableRow>         <TextView android:layout_column="1" android:text="Save." />        <TextView android:text="Ctrl-S" android:gravity="right" /

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論