【移動應(yīng)用開發(fā)技術(shù)】Android中常見的幾種布局的總結(jié)_第1頁
【移動應(yīng)用開發(fā)技術(shù)】Android中常見的幾種布局的總結(jié)_第2頁
【移動應(yīng)用開發(fā)技術(shù)】Android中常見的幾種布局的總結(jié)_第3頁
【移動應(yīng)用開發(fā)技術(shù)】Android中常見的幾種布局的總結(jié)_第4頁
【移動應(yīng)用開發(fā)技術(shù)】Android中常見的幾種布局的總結(jié)_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

【移動應(yīng)用開發(fā)技術(shù)】Android中常見的幾種布局的總結(jié)

眾所周知,一個應(yīng)用程序的良好與否,很大程度上取決于它的用戶界面。這就像是一個人給人的第一感覺也是從臉開始的一樣。一個應(yīng)用程序首先展示給客戶的就是它的界面,通途的說,也就是軟件的臉面。只有良好的用戶交互界面,才能在第一時間抓住客戶心理,取得優(yōu)勢。那么今天我就來給大家說一下在Android程序的開發(fā)過程中,對于Android應(yīng)用程序的一些常見的布局以及個人的一些看法,希望對大家有所幫助。

在Android4.0之前一共有5種關(guān)于Android的布局,分別是:LinearLayout(線性布局),RelativeLayout(相對布局),F(xiàn)rameLayout(框架布局),AbsoluteLayout(絕對布局),TableLayout(表格布局)。在Android4.0之后又新增了一種布局,GirdLayout(網(wǎng)格布局)。其中常用的布局有LinearLayout(線性布局),RelativeLayout(相對布局)以及最新出的GirdLayout(網(wǎng)格布局)。

首先介紹一下LinearLayout布局,也就是我們平時說的線性布局。顧名思義,所謂線性布局也就是在搭建Android界面時,界面元素的整體排列,呈水平排列(horizntal)或者是豎直排列(vertical)。在線性布局布局中,每一行或每一列只能放單獨一個控件。線性布局不會換行。當(dāng)控件排列到窗體邊緣,后面的控件就被隱藏,而不會顯示出來。線性布局通過orientation屬性來控制元素的排列方式即它的兩個值:horizntal,vertical。而且這個屬性在布局中一般都是要加進(jìn)去的,告訴系統(tǒng)你按照什么方式排列。如果不寫的話,第一行代碼可能會整體報錯。LinearLayout的常見的一些屬性:1.android:orientation

定義布局內(nèi)控件或組件的排列方式可選項:vertical、horizontal2.android:layout_width

定義控件的寬度可選項:fill_parent/match_parent/wrap_content/絕對數(shù)值備注:fill_parent/match_parent的效果完全一致,都是填充整個父控件。但是自2.2版本開始推薦使用match_parent

。wrap_content指的是該控件的寬度正好包裹內(nèi)容物。3.android:layout_height

定義控件的高度可選項:fill_parent/match_parent/wrap_content/絕對數(shù)值備注:fill_parent/match_parent的效果完全一致,都是高度填充整個父控件。wrap_content指的是該控件的高度正好包裹內(nèi)容物。4.android:id

設(shè)置控件的id。這樣就可以在R.java中自動生成相應(yīng)的值,在程序中通過findViewById就可以調(diào)用。設(shè)置id的格式為:android:id="@+id/id的名字"

5.android:background

設(shè)置控件的背景顏色或背景圖片例如:android:background="#ffffff"

android:background="@drawable/圖片名稱"

LinearLayout特有的屬性有以下幾種:1、android:orientation

布局管理器內(nèi)組件的排列方式2、android:gravity

設(shè)置布局管理器內(nèi)組件的對齊方式3、android:weightSum

為該布局下的元素設(shè)置權(quán)重

LinearLayout

子元素的特有屬性:1、android:layout_weight

子元素在LinearLayout

中所占的權(quán)重2、android:layout_gravity

子元素在LinearLayout

中的對齊方式(只在LinearLayout和FrameLayout中有效,LinearLayut中只有一個方向起作用,F(xiàn)rameLayou都有效)

接下來再說一下RelativeLayout,相對布局。相對布局在平時的開發(fā)中也經(jīng)常用到。簡單來說就是一個界面元素相對于另一個元素的位置。一般需要在定義一個元素時附上該元素的ID,然后另一個元素就可以相對于這個元素進(jìn)行布局了。RelativeLayout特有屬性:1、android:gravity

設(shè)置布局容器內(nèi)子控件的對齊方式

2、android:ignoreGravity

設(shè)置布局管理器內(nèi)哪個控件不受gravity屬性的影響

RelativeLayout子元素的特有屬性:LayoutParams

A、第一組:指兄弟控件之間的相對位置。該組屬性的值是另一個控件的id。layout_toRightOf

該控件在哪個控件的右側(cè)layout_toLeftOf

該控件在哪個控件的左側(cè)layout_above

該控件在哪個控件的上側(cè)layout_below

該控件在哪個控件的下側(cè)

B、第二組:指兄弟控件之間的對齊關(guān)系。該組屬性的值是另一個控件的id。layout_alignRight

該控件與哪個控件的右對齊layout_alignLeft

該控件與哪個控件的左對齊layout_alignTop

該控件與哪個控件的頂對齊layout_alignBottom

該控件與哪個控件的底對齊layout_alignStart

該控件與哪個控件的起始端對齊(4.2新出的)layout_alignEnd

該控件與哪個控件的末端對齊(4.2新出的)

C、第三組:指控件與父布局之間的對齊關(guān)系。該組屬性的值是true或者false。layout_alignParentRight

該控件與父布局控件的右對齊嗎?layout_alignParentLeft

該控件與父布局控件的左對齊嗎?layout_alignParentTop

該控件與父布局控件的頂端對齊嗎?layout_alignParentBottom

該控件與父布局控件的底部對齊嗎?layout_centerInParent

該控件位于父布局控件的中心位置嗎?layout_centerVertical

該控件位于父布局控件的垂直中心位置嗎?layout_centerHorizontal

該控件位于父布局控件的水平中心位置嗎?現(xiàn)在市面上大部分的Android界面通過以上兩種布局方式結(jié)合使用都可以達(dá)到美觀大氣的效果。接下來再說一下關(guān)于Android4.0以后新出的一種布局方式,叫做網(wǎng)格布局(GridLayout)。這類布局方式最典型的一個案例就是我們手機上都帶有的計算器界面。當(dāng)然使用LinearLayout和RelativeLayout也能完成,但是顯然使用GridLayout會變得更加容易一點。使用GridLayout需要注意的一點是需要在布局界面的時候首先定義網(wǎng)格的行列數(shù),通常使用的是rowCount和columnCount兩個屬性來定義網(wǎng)格的行數(shù)和列數(shù)。再者就是個別網(wǎng)格需要使用:layout_rowSpan和layout_columnSpan來實現(xiàn)網(wǎng)格的跨行和跨列操作,通俗的說就是行和列的合并。GridLayout子元素的屬性:1、android:layout_column屬性說明:顯示該控件的列。例如,android:layout_column="0",表示在第1列顯示該控件;android:layout_column="1",表示在第2列顯示該控件。

2、android:layout_row屬性說明:該控件所在行。例如,android:layout_row="0",表示在第1行顯示該控件;android:layout_row="1",表示在第2行顯示該控件。它和android:layout_column類似。

3、android:layout_columnSpan屬性說明:列合并。即該控件所占的列數(shù)。例如,android:layout_columnSpan="2",表示該控件占2列。

4、android:layout_rowSpan屬性說明:行合并。即該控件所占的行數(shù)。例如,android:layout_rowSpan="2",表示該控件占2行。

5、android:layout_gravity屬性說明:該控件的布局方式。選項值:top

--控件置于容器頂部,不改變控件的大小。bottom

--控件置于容器底部,不改變控件的大小。left

--控件置于容器左邊,不改變控件的大小。right

--控件置于容器右邊,不改變控件的大小。center_vertical

--控件置于容器豎直方向中間,不改變控件的大小。fill_vertical

--如果需要,則往豎直方向延伸該控件。center_horizontal--控件置于容器水平方向中間,不改變控件的大小。fill_horizontal

--如果需要,則往水平方向延伸該控件。center

--控件置于容器中間,不改變控件的大小。fill

--如果需要,則往水平、豎直方向延伸該控件。clip_vertical

--垂直剪切,剪切的方向基于該控件的top/bottom布局屬性。若該控件的gravity是豎直的:若它的gravity是top的話,則剪切該控件的底部;若該控件的gravity是bottom的,則剪切該控件的頂部。clip_horizontal

--水平剪切,剪切的方向基于該控件的left/right布局屬性。若該控件的gravity是水平的:若它的gravity是left的話,則剪切該控件的右邊;若該控件的gravity是

right的,則剪切該控件的左邊。start

--控件置于容器的起始處,不改變控件的大小。end

溫馨提示

  • 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

提交評論