溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android開發(fā)中常用布局有哪些

發(fā)布時間:2021-11-26 16:31:39 來源:億速云 閱讀:238 作者:柒染 欄目:移動開發(fā)

Android開發(fā)中常用布局有哪些,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

一、簡介

如下圖所示,按照界面編寫的方式,可以分為傳統(tǒng)布局和新型布局兩種。

Android開發(fā)中常用布局有哪些

image

1.線性布局:是平常練習(xí)demo時最常用的布局,分為水平、垂直方向兩種線性布局,即設(shè)置其屬性orientation:"vertical或horizontal"?!咀ⅲ涸诓恢付ǚ较驎r,默認(rèn)為horizontal,即水平方向】

2.相對布局:依據(jù)某一控件的位置,來確定另一控件的位置,即另一控件相對于當(dāng)前控件的位置。

3.表格布局:適用于多行多列的布局方式,通過表格方式來布局控件的位置,并且每個TableLayout由多個TableRow(表示行)組成。

4.網(wǎng)格布局:是在Android4.0之后引入的一個新布局,和上面的TableLayout有點類似,但GridLayout比TableLayout更加好用、靈活。

5.幀布局:放入的所有控件都會被依次放在左上區(qū)域,因此下一個控件會重疊覆蓋上一個控件,且無法為控件指定一個確切的位置。一般用于瀏覽單張圖片。

6.絕對布局:這個布局一般不會使用。屏幕的左上角為原點(0,0),橫軸為x軸且向右為遞增,縱軸為y軸且向下為遞增,依據(jù)layout_x及l(fā)ayout_y屬性分別設(shè)置控件的X及Y坐標(biāo)。

7.約束布局:先說一下約束布局相對于傳統(tǒng)布局的優(yōu)勢:①采用可視化的界面,拖拽控件即可完成界面的布局;②解決布局嵌套過多的問題,采用約束的方式來指定各個控件的位置和關(guān)系的,它有點類似于RelativeLayout,但遠(yuǎn)比RelativeLayout要更強大。

二、常用屬性

2.1 所有布局的公有屬性

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

2.2 各個布局的特有屬性

  • 線性布局

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

  • 在不指定線性布局方向的情況下,默認(rèn)采用水平布局。

  • 為了完全按比例分配剩余空間,我們一般將控件的layout_width或layout_height設(shè)置為0dp,然后分別設(shè)置其權(quán)重值。【這里僅考慮常用的,至于寬設(shè)置為wrap_content或match_parent請自行嘗試即可】

例:水平方向上有3個TextView,設(shè)置權(quán)重為1:1:1,則代碼如下:

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

運行結(jié)果如下:

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

將權(quán)重比例改為1:2:3,運行結(jié)果如下。

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

  • 相對布局

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

  • 表格布局

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

例:xml布局代碼如下:

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

運行結(jié)果如下:

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

由上面的演示可以看出:

  1. 如果直接在TableLayout中添加控件,則該控件將占滿一行,如第一行的文本框獨占一行。

  2. 若要在一行上放置多個控件,則需要在控件的外層添加一個TableRow容器,如第2、3、4、5行放置了不同個數(shù)的的按鈕。

  3. TableRow容器中控件的個數(shù)決定了該行有多少列(如圖分別有1,3,2,1,2列),而TableLayout的列數(shù)由控件最多的TableRow決定(整個布局有3列)。

  4. TableLayout的列的寬度由該列中最寬的單元格決定,如Button44444按鈕決定了第二列的寬度。

  5. 設(shè)置layout_column屬性,這里是跳過第1列,從第2列開始放置控件。

  6. 設(shè)置layout_span屬性,這里是合并3個單元格,即該按鈕占3個單元格。

請依次添加添加以下布局屬性:

① 收縮1、2列:
android:shrinkColumns="0,1"
運行結(jié)果如下:顯示不完全的button8顯示完全了,并且Button1、Button44444、Button6按鈕有收縮

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

②隱藏第1列:
android:collapseColumns="0"
運行結(jié)果如下:由于第4行僅有一個按鈕,則整個第四行隱藏。

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

③ 伸展第3列:
android:stretchColumns="2"

運行結(jié)果如下:由于僅有第2、3行有第三列,并且Button3與B5有拉伸。

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

  • 網(wǎng)格布局

GridLayout相關(guān)屬性如下:

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

  • 幀布局

  • 幀布局是這幾種布局中最簡單的布局,添加到其中的控件默認(rèn)會放到布局區(qū)域的左上角;

  • 幀布局沒有任何的定位方式,后一個控件會覆蓋前一個控件;

  • 幀布局的大小有控件中最大的控件決定;

注:設(shè)置前景圖像的位置可以兩個屬性疊加,例如右下角:bottom|right。

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

  • 絕對布局

絕對布局很少使用,一般有兩個常用控件屬性:

Android開發(fā)中常用布局有哪些

Android開發(fā)之常用布局全在這篇

  • 約束布局

約束布局是Google推薦的一種布局,有關(guān)于其拖拽控件、添加約束、借助Inspector設(shè)置屬性、Gidelines的使用以及自動添加約束的功能

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI