GridLayout布局

756 阅读2分钟

「这是我参与11月更文挑战的第25天,活动详情查看:2021最后一次更文挑战

GridLayout布局管理器

网格布局管理器使用纵横线将容器分成n行m列大小相等的网格。每个网格中放置一个组件。添加到容器中的组件首先放置在第1行第1列(左上角)的网格中,然后在第1行的网格中从左向右依次放置其他组件。行满后,继续在下一行中从左到右放置组件。与FlowLayout不同的是放置在GridLayout布局管理器中的组件,将自动占据网格的整个区域。

1.GridLayout类在java.awt包中

  1. GridLayout布局使得容器中的各个组件以规则的网格状分布,平均占据整个容器空间

3.当容器的大小发生变化时,其中的组件大小也发生变化,但始终平均占据容器空间

4.GridLayout容器中的组件始终充满网格某个块 的所有空间 5.GridLayout容器中添加组件时,以行为主序: 第一行第一个,第一行第二个......第二行第一个...... 在这里插入图片描述

GridLayout的构造方法

1.public GridLayout(int rows, int cols) —— 创建rows行cols列的GridLayout对象,行列之间的默认宽度为5个像素

2.public GridLayout(int rows, int cols, int hgap,int vgap) —— 创建rows行cols列的GridLayout对象,行列之间的宽度分别为hgap个像素和vgap个像素

GridLayout类的常用构造方法如下:

1.GridLayout(): 构建一个一行一列的GridLayout对象。

2.GridLayout(int rows, int cols): 用指定行数和列数去构建GridLayout对象。

3.GridLayout(int rows, int cols, int hgap, int vgap): 指定行数、列数、水平间隔和垂直间隔去构建GridLayout对象。

总结:

1、将容器像棋盘一样进行m行n列的网格分布

2、网格每行高度(每列宽度)相同,等于容器的高度(宽度)除以网格的行数(列数)

3、不能改变组件大小只能改变组件之间的水平和垂直间隔

4、添加到容器的组件 从左向右 自上而下 依次放置

5、当容器大小发生改变时,各组件的相对位置不变,大小会改变。

使用GridLayout要注意的地方:

因为GirdLayout是4.0后才推出的,所以minSDK版本要改为14或者以上的版本, 不然写布局代码的时候,这玩意就会莫名其妙地出错,说找不到这个GridLayout, 当然,如果你要低版本兼容的话,就要看下面的内容了!


低版本sdk如何使用GridLayout:

解决方法很简单:只需要导入v7包的gridlayout包即可! v7包一般在sdk下的:sdk\extras\android\support\v7\gridlayout目录下 如果你没有的话,也可以到这里下载: gridlayout_v7_jay.rar 但是用的时候,标签却是这样写的:

<android.support.v7.widget.GridLayout>`