学习目标

了解网格布局特点

熟悉网格布局常用属性

掌握线性布局嵌套网格布局

ListView android 网格布局 安卓 网格布局_xml

有些应用要求控件很整齐地排成若干行和若干列,当然利用线性布局嵌套是可以实现的,但是太繁琐了,我们可以采用网格布局来实现,就比较简单。

一网格布局概述

1、布局特点

GridLayout布局使用虚细线将布局划分为行、列和单元格,也支持一个控件在行、列上都有交错排列。
可以自己设置布局中组件的排列方式
可以自定义网格布局有多少行、多少列
可以直接设置组件位于某行某列
可以设置组件横跨几行或者几列

2、继承关系图

GridLayout类是ViewGroup子类

ListView android 网格布局 安卓 网格布局_网格布局_02

3、常用属性

(1)针对布局的属性

属性	含义
rowCount	行数
columnCount	列数
layout_width	布局宽度
layout_height	布局高度

(2)针对子控件的属性

属性	含义
layout_row	子控件在布局的行数
layout_column	子控件在布局的列数
layout_rowSpan	跨行数
layout_columnSpan	跨列数

二案例演示:计算器界面

1、创建安卓应用

基于Empty Activity模板创建安卓应用 - GridLayoutCalculator
单击【Finish】按钮

2、准备背景图片

将一张背景图片拷贝到drawable目录里

3、字符串资源文件

字符串资源文件 - strings.xml

网格布局:计算器界面

4、自定义边框配置文件
在drawable目录里添加custom_border.xml

<?xml version="1.0" encoding="utf-8"?>

<corners android:radius="5dp" />
<stroke
    android:width="1dp"
    android:color="#555555" />

<padding
    android:bottom="10dp"
    android:left="10dp"
    android:right="10dp"
    android:top="10dp" />

<gradient
    android:endColor="#eeeeee"
    android:startColor="#aaaaaa" />

5、主布局资源文件

主布局资源文件 - activity_main.xml

将默认的约束布局修改为垂直的线性布局,设置相关属性

ListView android 网格布局 安卓 网格布局_网格布局_03

添加显示运算结果的标签,并设置相关属性

ListView android 网格布局 安卓 网格布局_xml_04

查看预览效果

ListView android 网格布局 安卓 网格布局_android studio_05

添加一个网格布局,设置为6行5列

ListView android 网格布局 安卓 网格布局_android studio_06

添加第一行的五个按钮

ListView android 网格布局 安卓 网格布局_xml_07


ListView android 网格布局 安卓 网格布局_网格布局_08

查看预览效果

ListView android 网格布局 安卓 网格布局_网格布局_09

添加第二行五个按钮

ListView android 网格布局 安卓 网格布局_网格布局_10


ListView android 网格布局 安卓 网格布局_网格布局_11

查看预览结果

ListView android 网格布局 安卓 网格布局_android_12

添加第三行五个按钮

ListView android 网格布局 安卓 网格布局_xml_13

查看预览效果

ListView android 网格布局 安卓 网格布局_xml_14

在第四行添加五个按钮

ListView android 网格布局 安卓 网格布局_学习_15

查看预览效果

ListView android 网格布局 安卓 网格布局_android_16

在第五行添加五个按钮,但是第五个按钮跨两行,高度要重新设置

ListView android 网格布局 安卓 网格布局_android studio_17

查看预览效果

ListView android 网格布局 安卓 网格布局_xml_18

第六行添加三个按钮,第一个按钮跨两列,宽度要重新设置

ListView android 网格布局 安卓 网格布局_android studio_19

查看预览效果

ListView android 网格布局 安卓 网格布局_android_20

6、启动应用,查看效果

【0】按钮跨两列,【=】按钮跨两行

ListView android 网格布局 安卓 网格布局_学习_21