Android学习|布局——GridLayout 表格布局

  • 一、GridLayout 行、列 都可以进行合并
  • 二、常见属性
  • 三、子控件属性
  • 四、Demo
      • 1、常见属性Demo
    • 2、子控件属性Demo
      • a、layout_row、layout_column
      • b、layout_columnWeight、layout_rowWeight
      • c、layout_rowSpan、layout_columnSpan、layout_gravity

一、GridLayout 行、列 都可以进行合并

TableLayout只能设置其占据几列(列合并),而不能进行行的合并,要进行行的合并,可使用GridLayout布局。

二、常见属性

1、android:orientation : 设置水平显示还是垂直显示
2、android:columnCount : 设置行的显示个数
3、android:rowCount : 设置列的显示个数

一般:设置 columnCount 时,设置orientation 为水平显示 horizontal
            设置 rowCount 数时,设置orientation 为垂直显示 vertical

三、子控件属性

1、android:layout_row:显示在第几行
2、android:layout_column:显示在第几列

3、android:layout_rowSpan:横向跨几行
4、android:layout_columnSpan:横向跨几列

5、android:layout_rowWeight :纵向乘剩余空间分配方式
6、android:layout_columnWeight:横向剩余空间分配方式

7、android:layout_gravity:在网格中的显示位置

layout_rowSpan、layout_columnSpan设置后,不会有明显作用,还需要设置layout_gravity才能起作用。

四、Demo

1、常见属性Demo

GridLayout设置如下属性:

android:orientation=“horizontal”
android:columnCount=“3”

则表格每行3列、水平显示

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"android:columnCount="3"><Buttonandroid:text="1"/><Buttonandroid:text="2"/><Buttonandroid:text="3"/><Buttonandroid:text="4"/><Buttonandroid:text="5"/></GridLayout>

2、子控件属性Demo

a、layout_row、layout_column

1-5五个button中
2设置 在第1行第0列 (从0开始) (android:layout_row=“1”、android:layout_column=“0”)
5设置 在第2行第0列 (从0开始) (android:layout_row=“2”、android:layout_column=“0”)

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"><Buttonandroid:text="1" /><Buttonandroid:text="2"android:layout_row="1"android:layout_column="0"/><Buttonandroid:text="3"/><Buttonandroid:text="4"/><Buttonandroid:text="5"android:layout_row="2"android:layout_column="0" /></GridLayout>

b、layout_columnWeight、layout_rowWeight

上面图片中,4右边还有空白,设置4大小占据剩余空间,4的button中,添加android:layout_columnWeight=“2”

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"><Buttonandroid:text="1"android:layout_width="wrap_content"android:layout_height="wrap_content"/><Buttonandroid:text="2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_row="1"android:layout_column="0" /><Buttonandroid:text="3"android:layout_width="wrap_content"android:layout_height="wrap_content"/><Buttonandroid:text="4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_columnWeight="2"/><Buttonandroid:text="5"android:layout_row="2"android:layout_column="0"android:layout_width="wrap_content"android:layout_height="wrap_content"/></GridLayout>

c、layout_rowSpan、layout_columnSpan、layout_gravity

layout_rowSpan、layout_columnSpan设置后,不会有明显作用,还需要设置layout_gravity才能起作用。

例如:上面代码中,button5添加 android:layout_rowSpan=“2”(横向跨2列),但是没有生效

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"><Buttonandroid:text="1"android:layout_width="wrap_content"android:layout_height="wrap_content"/><Buttonandroid:text="2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_row="1"android:layout_column="0" /><Buttonandroid:text="3"android:layout_width="wrap_content"android:layout_height="wrap_content"/><Buttonandroid:text="4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_columnWeight="2"/><Buttonandroid:text="5"android:layout_row="2"android:layout_column="0"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_rowSpan="2"/></GridLayout>


上面可以看出,单纯设置layout_rowSpan没有生效。添加layout_gravity属性 android:layout_gravity=“fill”

完整代码

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"><Buttonandroid:text="1"android:layout_width="wrap_content"android:layout_height="wrap_content"/><Buttonandroid:text="2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_row="1"android:layout_column="0" /><Buttonandroid:text="3"android:layout_width="wrap_content"android:layout_height="wrap_content"/><Buttonandroid:text="4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_columnWeight="2"/><Buttonandroid:text="5"android:layout_row="2"android:layout_column="0"android:layout_columnSpan="2"android:layout_gravity="fill"android:layout_width="wrap_content"android:layout_height="wrap_content" /></GridLayout>

Android学习|布局——GridLayout 表格布局_(可行、列合并)相关推荐

  1. Android学习|布局——TableLayout 表格布局

    Android学习|布局--TableLayout 表格布局 一.概述 二.常见属性 4.子控件设置属性 三.Demo 1.android:collapseColumns 2.android:stre ...

  2. android表格布局bottom,Android基础_2 Activity线性布局和表格布局

    在activity的布局中,线性布局和表格布局是最简单的,这次分别从线性布局,表格布局以及线性布局和表格混合布局做了实验,实验中只需要编写 相应的xml的代码,java代码不需要更改,因为我们这里只是 ...

  3. Android的布局管理--表格布局

    Android的布局管理–表格布局 在校期间想过自学这个,但是最后选择了学习前端,以下知识点并不记得了 表格布局(TableLayout)是以表格形式排列控件的,通过行和列将界面划分为多个单元,每个单 ...

  4. Android布局——线性布局、相对布局、帧布局、表格布局、网格布局、约束布局

    1.概述 1.1 布局的作用:布局是对界面结构的全面规划和安排,通过api中提供的各种布局能够快速的完成对界面的设计和规划 1.2 布局的种类:线性布局(LinearLayout).相对布局(Rela ...

  5. Android 学习总结--六大常用布局

    目录 一.相对布局(RelativeLayout) 二.线性布局(LinearLayout) 三.网格布局(GridLayout) 四.表格布局(TableLayout) 五.帧布局(FrameLay ...

  6. Android用表格布局做菜单栏,Android开发菜单布局之表格布局示例

    本文实例讲述了android开发菜单布局之表格布局.分享给大家供大家参考,具体如下: 多用于静态菜单页面 xml代码 代码内带详细解释 xmlns:android="http://schem ...

  7. android基本布局-TableLayout_表格布局

    2-5 基本布局–TableLayout 表格布局 概述:表格布局是以行数和列数来确定位置进行排列.就像一间教室,确定好行数与列数就能让同学有序入座. 注意:我们需要先添加<TableRow容器 ...

  8. android简单实现表格布局,Android开发中TableLayout表格布局

    Android开发中TableLayout表格布局 一.引言 在移动端应用程序开发中,常常会使用到表格布局,iOS和Android开发框架中都提供了独立的表格视图控件供开发者使用,例如iOS中的UIT ...

  9. android表视图,android – 列表视图与表格布局

    我正在开发一个活动,其中我使用列表视图与表格布局. 我想在列表视图中显示图像和文本,但问题是图像显示略微超出列表顺序 img1 text1 img1 text1 img2 text2 and i wa ...

最新文章

  1. (转)CentOS 7系统详细开机启动流程和关机流程
  2. uniapp 自定义进度条_如何解决uniapp小程序下载进度条问题
  3. 把 JavaScript 放置到何处
  4. 这么多两院院士竟然来自同一个家族!
  5. javascript中Math对象及方法
  6. Python官方文档学习心得(第一章)
  7. django mysql windows_Django+MySQL配置:Windows+Centos
  8. [转载] 如何用一个Python示例入门TensorFlow?
  9. 公告栏模板php代码,如何调用destoon自定义模板及样式的公告栏
  10. c++线程间通信的几种方法_JAVA并发之线程amp;进程
  11. 【AtCoder】ARC083
  12. Tomcat、Servlet、Servlet容器
  13. 【西藏攻略+游记】十一,我们去西藏(1)攻略
  14. HD Audio总线驱动加载失败彻底解决!
  15. Topaz Sharpen A I人工智能清晰锐化PS插件
  16. excel文件因服务器未响应无法打开,excel打开显示兼容模式(未响应)
  17. “热散由心静,凉生为室空” - linux温控的那些事儿
  18. 用三色带摄像管替换电视机显像管的摄像机
  19. 服务器虚拟资源池,大型医院基于Hyper-V的虚拟化服务器资源池构建
  20. 微信小程序父组件向子组件传递数据

热门文章

  1. 激活策略 查询_苹果Apple Search Ads搜索竞价广告全攻略——从入门到运营优化策略 推广人员不得不看...
  2. 漏洞管理失败?企业漏洞管理面临的三大困境
  3. 绘制作者共现和关键词共现图教学
  4. 老年人手抖的治疗方法
  5. 马来西亚理科大学计算机学院,马来西亚理工大学(UTM)
  6. Android studio 上代码实现来电拦截
  7. 健身耳机什么牌子好、最好用的五款健身耳机推荐
  8. 根据哔哩哔哩上的视频,使用idea整合ssm
  9. html word编辑器插件,2017年chrome插件推荐八期:可以在浏览器中在线编辑office文件的扩展程序汇总...
  10. (VIP-朝夕教育)2021-06-09 .NET高级班 45-C#7新特性