网格布局管理器GridLayout

介绍

网格布局管理器是在 Android 4.0 版本中提出的,使用 GridLayout 表示。在网格布局管理器中,屏幕被虚拟的细线划分成行、列和单元格,每个单元格放置一个组件,并且这个组件也可以跨行或跨列摆放,如图 3.24 所示。(网格布局管理器与表格布局有些类似,都可以以行、列的形式管理放入其中的组件,但是它们之间最大的不同就是网格布局管理器可以跨行显示组件,而表格布局管理器则不能)

 基本的语法格式如下:

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
属性列表
 >
</GridLayout >

XML属性

GridLayout 支持

XML属性描述
android:columnCount用于指定网格的最大列数
android:rowCount
用于指定网格的最大行数
android:orientation用于当没有为放入其中的组件分配行和列时,指定其排列方式。其属性值为horizontal 表示水平排列;属性值为 vertical 表示垂直排列
android:useDefaultMargins用于指定是否使用默认的边距,其属性值设置为 true 时,表示使用;属性值为false 时,表示不使用
android:alignmentMode用于指定该布局管理器采用的对齐模式,其属性值为 alignBounds 时,表示对齐边界;值为 alignMargins 时,表示对齐边距,默认值为 alignMargins
android:rowOrderPreserved用于设置行边界显示的顺序和行索引的顺序是否相同,其属性值为 true,表示相同,属性值为 false,表示不相同
android:columnOrderPreserved用于设置列边界显示的顺序和列索引的顺序是否相同,其属性值为 true,表示相同, 属性值为 false,表示不相同

 GridLayout 子组件支持

为了控制网格布局管理器中各子组件的布局分布,网格布局管理器提供了GridLayout.LayoutParams内部类,在该类中提供了如表

在网格布局管理器中,如果想让某个组件跨行或跨列,那么需要先通过android:layout_columnSpan或者android:layout_rowSpan设置跨越的行或列数,然后再设置其layout_gravity属性为fill,表示该组件填满跨越的行或者列

XML属性描述
android:layout_column用于指定该子组件位于网格的第几列
android:layout_columnSpan
用于指定该子组件横向跨几列(索引从 0 开始)
android:layout_columnWeight用于指定该子组件在水平方向上的权重,即该组件分配水平剩余空间的比例
android:layout_gravity
用于指定该子组件采用什么方式占据该网格的空间,其可选值有 top(放置在顶部)、bottom(放置在底部)、left(放置在左侧)、right(放置在右侧)、
center_vertical(垂直居中)、fill_vertical(垂直填满)、center_horizontal(水平居中)、fill_horizontal(水平填满)、center(放置在中间)、fill(填满)、clip_vertical(垂直剪切)、clip_horizontal(水平剪切)、start(放置在开始位置)、end(放置在结束位置)
android:layout_row用于指定该子组件位于网格的第几行(索引从 0 开始)
android:layout_rowSpan用于指定该子组件纵向跨几行
android:layout_rowWeight用于指定该子组件在垂直方向上的权重,即该组件分配垂直剩余空间的比例

例子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值