Android学习笔记(六):网格布局管理器(GridLayout)

时间:2024-04-14 08:15:45

布局管理器----网格布局管理器(GridLayout)

  1. 网格布局管理器是Android4.0推出的。在网格布局管理器中,屏幕被虚拟的细线划分为行、列和单元格,每个单元格放置一个组件。如淘宝页面:
    Android学习笔记(六):网格布局管理器(GridLayout)
    看起来和表格管理器一样,但还是有区别的:
  • 放在网格布局管理器的单元格中的内容不仅可以跨列显示,还可以跨行显示;而放在表格布局管理器中的内容只能跨列显示,不能跨行显示。
    Android学习笔记(六):网格布局管理器(GridLayout)
  • 网格布局管理器中,当某一行的内容在屏幕中无法完全展示时,可以将展示不出来的内容换行展示;而在表格布局管理器中,一行中展示不出来的内容就不再展示。

在activity_main.xml文件中,使用GridLayout标签来定义网格布局管理器。
Android学习笔记(六):网格布局管理器(GridLayout)

  1. GridLayout的基本属性:
  • android:columnCount :设置网格的最大列数。
    总共设置五个按钮组件,不设置最大列数,所有组件在一行显示:
    Android学习笔记(六):网格布局管理器(GridLayout)
    设置了最大列数为2,每一行就只能显示两个组件:
    Android学习笔记(六):网格布局管理器(GridLayout)
  • android:orientation:设置网格中组件的排列方式。
    Android学习笔记(六):网格布局管理器(GridLayout)
    Android学习笔记(六):网格布局管理器(GridLayout)
  • android:rowCount :设置网格的最大行数。
    Android学习笔记(六):网格布局管理器(GridLayout)
  1. GridLayout的内部类:GridLayout.params----用来控制各子组件的分布。
  • android:layout_column :用来指定子组件位于网格布局管理器的第几列。从第0列算起。
  • android:layout_columnSpan :设置子组件横跨几列。
  • android:layout_columnWeight:设置子组件在水平方向的权重,用来分配水平方向剩余空间。
    Android学习笔记(六):网格布局管理器(GridLayout)
    Android学习笔记(六):网格布局管理器(GridLayout)
  • android:layout_gravity :用来设置子组件以什么方式占据网格空间。如水平居中、竖直居中、右下角等。
    Android学习笔记(六):网格布局管理器(GridLayout)
  • android:layout_row :指定子组件位于第几行。
  • android:layout_rowSpan :指定子组件纵向跨几行。
  • android:layout_rowWeight :指定子组件在垂直方向的权重。

示例:
3个按钮,按钮1位于0行0列,按钮2位于1行2列,按钮3位于1行1列:
Android学习笔记(六):网格布局管理器(GridLayout)
按钮2纵跨两行:
Android学习笔记(六):网格布局管理器(GridLayout)
按钮1横跨两列(不再设置按钮2纵跨两行):
Android学习笔记(六):网格布局管理器(GridLayout)