android理論課件第5布局_第1頁(yè)
android理論課件第5布局_第2頁(yè)
android理論課件第5布局_第3頁(yè)
android理論課件第5布局_第4頁(yè)
android理論課件第5布局_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Android布局5大布局本課學(xué)習(xí)LinearLayout(線性布局)FrameLayout(單幀布局)RelativeLayout(相對(duì)布局)AbsoluteLayout(絕對(duì)布局)TableLayout(表格布局)淺談布局Android的界面是有布局和組件協(xié)同完成的,布局好比是建筑里的框架,而組件則相當(dāng)于建筑里的磚瓦。組件按照布局的要求依次排列,就組成了用戶所看見(jiàn)的界面。Android的五大布局分別是LinearLayout(線性布局)FrameLayout(單幀布局)RelativeLayout(相對(duì)布局)AbsoluteLayout(絕對(duì)布局)TableLayout(表格布局)LinearLayoutLinearLayout按照垂直或者水平的順序依次排列子元素,每一個(gè)

子元素都位于前一個(gè)元素之后。如果是垂直排列,那么將是一個(gè)N行單列的結(jié)構(gòu),每一行只會(huì)有一個(gè)元素,而不論這個(gè)元素的寬度為多少;如果是水平排列,那么將是一個(gè)單行N列的結(jié)構(gòu)。如果搭建兩行兩列的結(jié)構(gòu),通常的方式是先垂直排列兩個(gè)元素,每一個(gè)元素里再包含一個(gè)LinearLayout進(jìn)行水平排列。下面介紹上圖效果的實(shí)現(xiàn)代碼LinearLayoutandroid:layout_weight:,它用于描述該子元素在剩余空間中占有的大小比例。android:layout_weight值分別為1和2,那么第一個(gè)文本框?qū)⒄紦?jù)剩余空間的三分之二,第二個(gè)文本框?qū)⒄紦?jù)剩余空間中的三分之一。android:layout_weight遵循數(shù)值越小,重要度越高的原則。FrameLayoutFrameLayout是五大布局中最簡(jiǎn)單的一個(gè)布局,在這個(gè)布局中,整個(gè)界面被當(dāng)成一塊空白備用區(qū)域,所有的子元素都不能被指定放置的位置,它們統(tǒng)統(tǒng)放于這塊區(qū)域的左上角,

并且后面的子元素直接覆蓋在前面

的子元素之上,將前面的子元素部

分和全部遮擋。顯示效果如右,第一個(gè)TextView被第二個(gè)TextView完全遮擋,第三個(gè)TextView遮擋了第二個(gè)TextView的部分位置。FrameLayoutAbsoluteLayoutAbsoluteLayout是絕對(duì)位置布局。在此布局中的子元素的android:layout_x和android:layout_y屬性將生效,用于描述該子元素的坐標(biāo)位置。屏幕左上角為坐標(biāo)原點(diǎn)(0,0),第一個(gè)0代表橫坐標(biāo),向右移動(dòng)此值增大,第二個(gè)0代表縱坐標(biāo),向下移動(dòng),此值增大。在此布局中的子元素可以相互重疊。在實(shí)際開(kāi)發(fā)中,通常不采用此布局格式,因?yàn)樗慕缑娲a過(guò)于剛性,以至于有可能不能很好的適配各種終端。顯示效果如右:AbsoluteLayoutRelativeLayoutRelativeLayout按照各子元素之間的位置關(guān)系完成布局。在此布局中的子元素里與位置相關(guān)的屬性將生效。例如android:layout_below,android:layout_above等。子元素就通過(guò)這些屬性和各自的ID配合指定位置關(guān)系。注意在指定位置關(guān)系時(shí),引用的ID必須在引用之前,先被定義,否則將出現(xiàn)異常。RelativeLayout里常用的位置屬性如下:

android:layout_toLeftOf——該組件位于引用組件的左方

android:layout_toRightOf——該組件位于引用組件的右方

android:layout_above——該組件位于引用組件的上方

android:layout_below——該組件位于引用組件的下方android:layout_alignParentLeft——該組件是否對(duì)齊父組件的左端android:layout_alignParentRight——該組件是否齊其父組件的右端

android:layout_alignParentTop——該組件是否對(duì)齊父組件的頂部

android:layout_alignParentBottom——該組件是否對(duì)齊父組件的底部

android:layout_centerInParent——該組件是否相對(duì)于父組件居中

android:layout_centerHorizontal——該組件是否橫向居中

android:layout_centerVertical——該組件是否垂直居中RelativeLayoutTableLayoutTableLayout顧名思義,此布局為表格布局,適用于N行N列的布局格式。一個(gè)TableLayout由許多TableRow組成,一個(gè)TableRow就代表

TableLayout中的一行。TableRow是LinearLayout的子類,它的android:orientation屬性值恒為

horizontal,并且它的

android:layout_width和android:layout_height屬性值恒為

MATCH_PARENT和WRAP_CONTENT。所以它的子元素都是橫向排列,并且寬高一致的。這樣的設(shè)計(jì)使得每個(gè)TableRow里的子

元素都相當(dāng)于表格中的單元格一樣。在TableRow中,單元格可以為空,但是不能跨列。TableLayout布局練習(xí)布局常見(jiàn)問(wèn)題an

溫馨提示

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

評(píng)論

0/150

提交評(píng)論