一. 简介

GridLayout网格布局是在Android 4.0以后引入的一种新的布局模式,和表格布局是有点类似的,但比表格布局的好,功能也是很强大的,它可以设置布局有多少行和有多少列,也可以设置布局中的组件的排列方式,也可以设置组件的位置,横跨多少行,多少列。

二. Xml方式

1. 所有的布局共有的属性

① View在左上右下四个方向和其他View之间的距离,值是 dp

1
2
3
4
android:layout_marginStart (android:layout_marginLeft) 
android:layout_marginTop
android:layout_marginEnd (android:layout_marginRight)
android:layout_marginBottom

② View内部元素到View左上右下边框之间的距离,值是 dp

1
2
3
4
android:paddingStart (android:paddingLeft)
android:paddingTop
android:paddingEnd (android:paddingRight)
android:paddingBottom

③ 容器 内部的对齐方式 以及 容器相对于父容器的对齐方式

1
2
android:gravity         //设置布局管理器内组件的对齐方式
android:layout_gravity //设置布局本身相对于父视图的位置

2. GridLayout

① 设置排列方式

android:orientation用于设置vertical竖直或horizontal水平。

② 设置行数和列数

android:rowCount 为可以设置行数,要多少行设置多少行,如android:rowCount="2"为设置网格布局有2行。

android:columnCount 为可以设置列数,要多少列设置多少列,如android:columnCount="2"为设置网格布局有2列。

③ 其他

android:layout_row 为设置组件位于第几行,从0开始计数的,如android:layout_row="1"为设置组件在第2行。

android:layout_column 为设置组件位于第几列,从0开始计数的,如android:layout_column="1"为设置组件在第2列。

android:layout_rowSpan 为设置组件横跨几行,如android:layout_rowSpan="2"为纵向横跨2行。

android:layout_columnSpan 为设置组件横跨几列,如android:layout_columnSpan="2"为橫向横跨2列。

网格布局在实际应用中很少使用,一般都是通过系统提供的另个一个列表控件 RecyclerView。

参考文章

六大布局之非常用布局