網格容器佈局, 能夠兼容的寫出相似Excel表格同樣的效果;android
android:alignmentMode
bash
若是子視圖存在margin(邊距), 能夠控制是否對齊margin仍是對齊子視圖的邊界. padding無效佈局
android:columnCount
列數spa
android:rowCount
行數3d
超過行數或者列數就會自定換行code
android:columnOrderPreserved
cdn
android:rowOrderPreserved
xml
以上兩個屬性是控制行或者列的最大範圍是否跟隨最大值blog
android:orientation
方向string
android:useDefaultMargins
默認邊距
是否使用默認的邊距(8dp), 默認false.
若是GridLayout不給子控件設置任何屬性, 將默認從左到右/從上到下排列. 超過指定行列就換行
GridLayout的每一個網格都是一個Cell. 這些子控件時經過指定屬性來指定其在網格中的位置
默認不填寫屬性的狀況下是依次排列行和列, 可是你能夠經過手動指定行列控制排列(能夠出現重疊)
android:layout_column 整數n,在哪一列開始顯示n=[0, 最大列-1]
android:layout_row 指定從哪一行開始顯示,規則同列數
示例:
若是我只指定android:layout_row="1"
, column依舊不變. 而且後面的子視圖會根據Button2所有改變位置
若是我再指定android:layout_column="0"
若是同時修改成0, 會覆蓋第一個子視圖.
android:layout_row="0"
android:layout_column="0"
複製代碼
即控制一個cell應該擁有多大的跨度(範圍)
android:layout_columnSpan 整數k,指定元素橫跨幾列,須要注意保證n+k <= 最大列數
android:layout_rowSpan 縱向跨幾行,規則同列
示例:
<Button android:layout_columnSpan="2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1" />
複製代碼
android:layout_gravity
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_columnSpan="2" android:text="1" />
複製代碼
android:layout_columnWeight
android:layout_rowWeight
示例:
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_columnWeight="1" android:layout_columnSpan="2" android:text="2" />
複製代碼
示例
<GridLayout android:id="@+id/grid" android:layout_width="match_parent" android:layout_height="200dp" android:alignmentMode="alignMargins" android:columnCount="4" android:rowCount="4" >
<Button android:layout_width="80dp" android:layout_height="50dp" />
<Button android:layout_width="100dp" android:layout_height="50dp" android:layout_column="2" android:layout_row="1" />
<Button android:layout_width="80dp" android:layout_height="50dp" />
<Button android:layout_width="80dp" android:layout_height="50dp" android:layout_column="1" android:layout_row="2" />
</GridLayout>
複製代碼
效果圖
能夠看出來經過子控件使用Column和Row屬性能夠指定其在網格中的位置