Android中常見的幾種布局的總結(jié)-創(chuàng)新互聯(lián)

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

從策劃到設(shè)計(jì)制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、國(guó)際域名空間、網(wǎng)絡(luò)空間、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、 網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進(jìn)步。

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

首先介紹一下LinearLayout布局,也就是我們平時(shí)說(shuō)的線性布局。顧名思義,所謂線性布局也就是在搭建Android界面時(shí),界面元素的整體排列,呈水平排列(horizntal)或者是豎直排列(vertical)。在線性布局布局中,每一行或每一列只能放單獨(dú)一個(gè)控件線性布局通過(guò)orientation屬性來(lái)控制元素的排列方式即它的兩個(gè)值:horizntal,vertical。而且這個(gè)屬性在布局中一般都是要加進(jìn)去的,告訴系統(tǒng)你按照什么方式排列。如果不寫的話,第一行代碼可能會(huì)整體報(bào)錯(cuò)。

LinearLayout的常見的一些屬性:

1.android:orientation  定義布局內(nèi)控件或組件的排列方式

可選項(xiàng):vertical 、horizontal

2.android:layout_width  定義控件的寬度

可選項(xiàng):fill_parent/ match_parent/ wrap_content/絕對(duì)數(shù)值

備注:fill_parent/ match_parent的效果完全一致,都是填充整個(gè)父控件。但是自2.2版本開始推薦使用match_parent 。wrap_content指的是該控件的寬度正好包裹內(nèi)容物。

3.android:layout_height  定義控件的高度

可選項(xiàng):fill_parent/ match_parent/ wrap_content/絕對(duì)數(shù)值

備注:fill_parent/ match_parent的效果完全一致,都是高度填充整個(gè)父控件。wrap_content指的是該控件的高度正好包裹內(nèi)容物。

4.android:id 設(shè)置控件的id。這樣就可以在R.java中自動(dòng)生成相應(yīng)的值,在程序中通過(guò)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)組件的對(duì)齊方式

3、android:weightSum 為該布局下的元素設(shè)置權(quán)重

 LinearLayout 子元素的特有屬性:

1、android:layout_weight   子元素在 LinearLayout 中所占的權(quán)重

2、android:layout_gravity   子元素在 LinearLayout 中的對(duì)齊方式(只在LinearLayout和FrameLayout中有效,LinearLayut中只有一個(gè)方向起作用,F(xiàn)rameLayou都有效)

接下來(lái)再說(shuō)一下RelativeLayout,相對(duì)布局。相對(duì)布局在平時(shí)的開發(fā)中也經(jīng)常用到。簡(jiǎn)單來(lái)說(shuō)就是一個(gè)界面元素相對(duì)于另一個(gè)元素的位置。一般需要在定義一個(gè)元素時(shí)附上該元素的ID,然后另一個(gè)元素就可以相對(duì)于這個(gè)元素進(jìn)行布局了。

RelativeLayout特有屬性:

1、android:gravity   設(shè)置布局容器內(nèi)子控件的對(duì)齊方式

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

RelativeLayout子元素的特有屬性:LayoutParams

      A、第一組:指兄弟控件之間的相對(duì)位置。該組屬性的值是另一個(gè)控件的id。

  1. layout_toRightOf    該控件在哪個(gè)控件的右側(cè)

  2. layout_toLeftOf     該控件在哪個(gè)控件的左側(cè)

  3. layout_above      該控件在哪個(gè)控件的上側(cè)

  4. layout_below         該控件在哪個(gè)控件的下側(cè)

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

  1. layout_alignRight    該控件與哪個(gè)控件的右對(duì)齊

  2. layout_alignLeft     該控件與哪個(gè)控件的左對(duì)齊

  3. layout_alignTop     該控件與哪個(gè)控件的頂對(duì)齊

  4. layout_alignBottom  該控件與哪個(gè)控件的底對(duì)齊

  5. layout_alignStart  該控件與哪個(gè)控件的起始端對(duì)齊(4.2新出的)

  6. layout_alignEnd  該控件與哪個(gè)控件的末端對(duì)齊(4.2新出的)

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

  1. layout_alignParentRight          該控件與父布局控件的右對(duì)齊嗎?

  2. layout_alignParentLeft           該控件與父布局控件的左對(duì)齊嗎?

  3. layout_alignParentTop           該控件與父布局控件的頂端對(duì)齊嗎?

  4. layout_alignParentBottom         該控件與父布局控件的底部對(duì)齊嗎?

  5. layout_centerInParent            該控件位于父布局控件的中心位置嗎?

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

  7. layout_centerHorizontal           該控件位于父布局控件的水平中心位置嗎?

現(xiàn)在市面上大部分的Android界面通過(guò)以上兩種布局方式結(jié)合使用都可以達(dá)到美觀大氣的效果。接下來(lái)再說(shuō)一下關(guān)于Android4.0以后新出的一種布局方式,叫做網(wǎng)格布局(GridLayout)。這類布局方式最典型的一個(gè)案例就是我們手機(jī)上都帶有的計(jì)算器界面。當(dāng)然使用LinearLayout和RelativeLayout也能完成,但是顯然使用GridLayout會(huì)變得更加容易一點(diǎn)。使用GridLayout需要注意的一點(diǎn)是需要在布局界面的時(shí)候首先定義網(wǎng)格的行列數(shù),通常使用的是rowCount和columnCount兩個(gè)屬性來(lái)定義網(wǎng)格的行數(shù)和列數(shù)。再者就是個(gè)別網(wǎng)格需要使用: layout_rowSpan 和layout_columnSpan來(lái)實(shí)現(xiàn)網(wǎng)格的跨行和跨列操作,通俗的說(shuō)就是行和列的合并。

GridLayout子元素的屬性:

1、android:layout_column

屬性說(shuō)明: 顯示該控件的列。例如,android:layout_column="0",表示在第1列顯示該控件;android:layout_column="1",表示在第2列顯示該控件。

2、android:layout_row

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

3、android:layout_columnSpan

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

4、android:layout_rowSpan

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

5、android:layout_gravity

屬性說(shuō)明:該控件的布局方式。選項(xiàng)值:

  • 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            -- 控件置于容器的結(jié)束處,不改變控件的大小。

以上三種布局方式在實(shí)際應(yīng)用開發(fā)中是比較常見的,另外的布局方式如FrameLayout(框架布局),AbsoluteLayout(絕對(duì)布局),TableLayout(表格布局)相對(duì)來(lái)說(shuō)就要使用的少一些,在這里就不一一詳述,有興趣的同學(xué)可以在網(wǎng)上搜一下其他的一些布局方式,為Android的學(xué)習(xí)打下一個(gè)良好的基礎(chǔ)。以上總結(jié)都是我在平時(shí)學(xué)習(xí)中一點(diǎn)一點(diǎn)總結(jié)的,可能會(huì)有問(wèn)題,還希望有志趣相投的同學(xué)指正,共同進(jìn)步!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

文章標(biāo)題:Android中常見的幾種布局的總結(jié)-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://bm7419.com/article28/ihhcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版外貿(mào)建站、網(wǎng)站內(nèi)鏈、虛擬主機(jī)、云服務(wù)器網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開發(fā)