网格布局
上代码
直接写五个按钮上去,发现直接挤出屏幕了,也不会自动换行
看样子和TableLayout差不多,其实是没有设置属性,下面看看有哪些属性
注:GridLayout不需要使用TableRow,这点和TableLayout不一样
orientation:这个和LinearLayout一样,但是GridLayout是默认水平显示
columnCount:设置一行最多显示几列(此时是orientation="horizontal"水平显示)
可以看到,超出的部分就自动换行了
rowCount:设置一列最多显示几行(此时是orientation="vertical"竖屏显示)
再看看子控件的属性
可以自由设置按钮在第几行第几列
后面设的位置如果和前面的重合了会覆盖掉
layout_columnWeight:横向剩余空间的权重分配方式,和LinearLayout中的权重差不多
layout_rowWeight:同理
layout_columnSpan:横向跨几列
我们对第二个按钮设置跨3列,发现好像并没有什么效果
实际上可以layout_gravity来使用
发现直接跨满了,原来这第四个按钮在占完权重之后,把俩列并成一列了
注:因为权重的计算,所以可能有时候跨行跨列的显示会和想象中的不太一样,具体计算请参考LinearLayout那篇的权重计算方法