Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android Layout XML屬性,androidlayout

Android Layout XML屬性,androidlayout

編輯:關於android開發

Android Layout XML屬性,androidlayout


轉載自並做少量添加:http://www.cnblogs.com/playing/archive/2011/04/07/2008620.html

 

Layout對於迅速的搭建界面和提高界面在不同分辨率的屏幕上的適應性具有很大的作用。這裡簡要介紹Android的Layout和研究一下它的實現。

Android有Layout:LinearLayout、TableLayout、RelativeLayout、FrameLayout、GridLayout、AbsoluteLayout

放入Layout中進行排布的View的XML屬性:

1.幾種Layout中Item所共有的XML屬性:

  • (1)layout_width
  • (2)layout_height

注: (1)和(2)用來確定放入Layout中的View的寬度和高度:它們的可能取值為fill_parent,wrap_content或者固定的像素值。

  • (3)layout_marginLeft         --->paddingLeft
  • (4)layout_marginTop         --->paddingTop
  • (5)layout_marginRight       --->paddingRight
  • (6)layout_marginBottom    --->paddingBottom
  • (補)layout_margin              --->padding

 注:(3)(4)(5)(6)是放入Layout中的View期望它能夠和Layout的邊界或者其他View之間能夠相距一段距離。

android:paddingLeft與android:layout_marginLeft的區別:

      padding margin都是邊距的含義,關鍵問題得明白是什麼相對什麼的邊距.
      padding是控件的內容相對控件的邊緣的邊距.如果是一個控件的話那麼就是,空間內容相對於控件邊緣的距離。但是在父控件中設置,那麼就是子控件相對於父控件邊緣的距離。

      layout_margin是控件邊緣相對父空間的邊距.這個要分布局,如果是線性布局,裡面的空間一個接一個排的話,那麼會是和下一個控件的距離。如果是相對布局不設置控件之間的關系會只和父控件產生邊距。

  • (7)layout_gravity

注:(7)用來確定View在Layout中的停靠位置。

android gravity和layout_gravity區別

  android:gravity 屬性是對該view 內容的限定.比如一個button 上面的text.  你可以設置該text 在view的靠左,靠右等位置.該屬性就干了這個.
      android:layout_gravity是用來設置該view相對與起父view 的位置.比如一個button 在linearlayout裡,你想把該button放在靠左靠右等位置就可以通過該屬性設置.

這樣就解釋了,有什麼我們弄個最外布局,然後裡面包了幾個布局,如果要使這幾個布局都靠底,就可以在最外布局的屬性裡設置androi:gravity="botton"  因為gravity是對裡面的內容起作用.

FrameLayout是最簡單的Layout,就只具有這些屬性。一層層往上糊的布局。

LinearLayout還會有:

  • (8)layout_weight

注: (8)用於在LinearLayout中把所有子View排布之後的剩余空間按照它們的layout_weight分配給各個擁有這個屬性的View。

TableLayout的行TableRow是一個橫向的(horizontal)的LinearLayout

RelativeLayout有16個align相關的XML屬性:

  • (9 )layout_alignParentBottom    當前控件低端與父控件的低端對齊(重合)
  • (10)layout_alignParentLeft        當前控件左端與父控件的左端對齊(重合)
  • (11)layout_alignParentRight      當前控件右端與父控件的右端對齊(重合)
  • (12)layout_alignParentTop        當前控件上端與父控件的上端對齊(重合)
  • (13)layout_centerHorizontal      當前控件位於父控件的橫向中間位置(水平方向上的中間)
  • (14)layout_centerInParent        當前控件位於父控件的縱橫向中間位置(垂直方向上的中間)
  • (15)layout_centerVertical          當前控件位於父控件的縱向中間位置(平面上的正中間)
  • (16)layout_above             使當前控件位於給出id控件的上方
  • (17)layout_below             使當前控件位於給出id控件的下方
  • (18)layout_toLeftOf          使當前控件位於給出id控件的左側
  • (19)layout_toRightOf        使當前控件位於給出id控件的右側
  • (20)layout_alignBottom     使當前控件與給出id控件的底部部重合(注意可用和給出id控件來對齊)
  • (21)layout_alignLeft          使當前控件與給出id控件的左邊重合
  • (22)layout_alignRight        使當前控件與給出id控件的右邊重合
  • (23)layout_alignTop          使當前控件與給出id控件的頂部重合
  • (24)layout_alignBaseline    使當前控件的BaseLine與給出id控件t的BaseLine重合,這個主要用於Label或者其他包含文本的widgets。

 注:(9)到(24)用來確定RelativeLayout中的View相對於Layout或者Layout中的其他View的位置。

 GridLayout 網格布局

  • (25)columnCount          設置該網格的列數量
  • (26)rowCount            設置該網格的行數量
  • (27)layout_column       設置該子組件在gridlayout的第幾列
  • (28)layout_columnSpan   設置該子組件在gridlayout橫向上跨幾行
  • (29)layout_gravity       設置該子組件采用何種方式占據該網格的空間
  • (30)layout_row                設置該子組件在gridlayout的第幾行
  • (31)layout_rowSpawn      設置該子組件在gridlayout縱向上跨幾行

AbsoluteLayout每個子組件都有兩個屬性

  • (32)layout_x
  • (33)layout_y

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved