一、LinearLayout(線性佈局):將佈局所包含的控件在線性方向上依次排列。
<1>android:orientation 指定了排列方向(垂直方向(vertical)、水平方向(horizontal))
<2>android:layout_gravity 用於指定控件在佈局中的對齊方式(站在子控件的角度)
a.當LinearLayout的排列方向是horizontal時,只有垂直方向上的對齊方式纔會生效;
b.當LinearLayout的排列方向是vertical時,只有水平方向上的對齊方式纔會生效。
<3>android:weight 容許經過比例的方式來指定控件的大小,在手機屏幕的適配性方面能夠起到很是重要的做用
<4>xmlns:android..... 命名控件(和java文件中的import語句功能相似)
<5>android:layout_width 定義當前的佈局或者控件的寬度
<6>android:layout_height 定義當前的佈局或者控件的高度(寬高值是必須的屬性)
<7>android:padding 內邊距。當前控件或者佈局的內邊緣距離裏面子控件或者內容的距離,距離值得單位是dp
<8>android:gravity 讓當前佈局或者控件的內容或者子佈局排列的方式(站在父控件的角度)
二、RelativeLayout(相對佈局):經過相對定位的方式讓控件出如今佈局的任何位置。
<1>android:layout_above 表示讓一個控件位於另外一個控件的上方須要指定相對控件的id的引用
<2>android:layout_below 表示讓一個控件位於另外一個控件的下方
<3>android:layout_toRightOf 表示讓一個控件位於另外一個控件的右側
<4>android:layout_toLeftOf 表示讓一個控件位於另外一個控件的左側
<5>當一個控件去引用另外一個控件的id時,該控件必定要定義在引用控件的後面,否則會出現找不到id的狀況
<6>android:layout_alignLeft 表示讓一個控件的左邊緣和另外一個控件的左邊緣對齊
<7>android:layout_alignRight 表示讓一個控件的右邊緣和另外一個控件的右邊緣對齊
<8>android:layout_alignTop 表示讓一個控件的上邊緣和另外一個控件的上邊緣對齊
<9>android:layout_alignBottom 表示讓一個控件的下邊緣和另外一個控件的下邊緣對齊
<10>android:layout_alignBaseline表示和xx基準線對齊(文本對齊)
<11>android:layout_margin 外邊距。當前控件或者佈局的外邊緣距離最近的控件或者佈局的距離
a.內邊距:主要把控件裏邊的間距拉大
b.外邊距:主要是把控件與控件之間的距離拉大
<12>android:layout_alignParentRight="true" 表示讓一個控件與父佈局右對齊
<13>android:layout_alignParentBottom="true" 表示讓一個控件與父佈局下對齊java
<14>android:layout_alignParentLeft="true" 表示讓一個控件與父佈局左對齊
<15>android:layout_alignParentTop="true" 表示讓一個控件與父佈局上對齊
<16>android:layout_centerHorizontal="true" 表示讓一個控件在父佈局中水平方向上居中
<17>android:layout_centerVertical="true" 表示讓一個控件在父佈局中垂直方向上居中
<18>android:layout_centerInParent="true 表示讓一個控件在父佈局的中心
三、FrameLayout(幀佈局):直接繼承了ViewLayout組件
幀佈局容器爲每一個加入其中的組件建立一個空白的區域(稱爲一幀),每一個子組件佔據一幀,這些幀會根據gravity屬性執行自動對齊
<1>android:foreground 設置該幀佈局容器的前景圖像
<2>android:forefroundGravity 定義繪製前景圖像的gravity屬性
四、TableLayout(表格佈局):繼承了LinearLayout
在表格佈局管理器中,有如下三種行爲方式:
<1>Shrinkable:若是某個列被設爲Shrinkable,那麼該列的全部單元格的寬度能夠被收縮,以保證該表格能適應父容器的寬度;
<2>Strechable:若是某個列被設爲Strechable,那麼該列的全部單元格的寬度能夠被拉伸,以保證組件能徹底填滿表格空餘空間;
<3>Collapsed:若是某個列被設爲Collapsed,那麼該列的全部單元格會被隱藏。
TableLayout繼承了LinearLayout,所以它支持LinearLayout所支持的所有XML屬性,除此之外,還支持如下屬性:
<1>android:collapseColumns setColumnCollapsed(int,boolean) 設置須要被隱藏的列的列序號(從0開始)
<2>android:shrinkColumns setShrinkAllColumns(boolean) 設置容許被收縮的列的列序號(從0開始)
<3>android:stretchColumns setStrechAllColumns(boolean) 設置容許被拉伸的列的列序號(從0開始)
<4>每加入一個TableRow就表示在表格中添加了一行,而後在TableRow中每加入一個控件,就表示在該行中加入了一列(TableRow中的控件不能夠指定寬度)
五、GridLayout(網格佈局)
<1>android:alignmentMode 設置該佈局管理器採用的對齊模式
<2>android:columnCount 設置該網格的列數量
<3>android:columnOrderPreserved 設置該網格容器是否保留列序號
<4>android:rowCount 設置該網格的行數量
<5>android:rowOrderPreserved 設置該網格容器是否保留航序號
<6>android:useDefaultMargins 設置該佈局管理器是否使用默認的頁邊距
<7>android:layout_column 設置該子組件在GridLayout的第幾列
<8>android:layout_columnSpan 設置該子組件在GridLayout橫向上跨幾列
<9>android:layout_gravity 設置該子組件採用何種方式佔據該網格的空間
<10>android:layout_row 設置該子組件在GridLayout的第幾行
<11>android:layout_rowSpan 設置該子組件在GridLayout縱向上跨幾行
六、AbsoluteLayout(絕對佈局):已通過時,官方已經不推薦使用
<1>layout_x 指定該子組件的X座標
<2>layout_y 指定該子組件的Y座標android