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

  • 一、概述
  • 二、常见属性
    • 4、子控件设置属性
  • 三、Demo
    • 1、android:collapseColumns
    • 2、android:stretchColumns
    • 3、android:shrinkColumns
    • 4、子控件设置属性
      • a、android:layout_column:显示在第几列
      • b、android:layout_span:横向跨几列

一、概述

TableLayout :即表格布局。

当TableLayout下面写控件、则控件占据一行的大小。(自适应一行,不留空白)

但是,想要多个组件占据一行,则配合TableRow实现

如下,设置三个button,其宽度为match_parent、按道应该不占据一行,而却一个button占了一整行

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><Buttonandroid:layout_width="match_parent"/><Buttonandroid:layout_width="match_parent"/><Buttonandroid:layout_width="match_parent"/></TableLayout>


添加TableRow,使其成表格状

一个TableRow代表一行

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><TableRow><Buttonandroid:layout_width="match_parent"android:text="第一列"/><Buttonandroid:layout_width="match_parent"android:text="第二列"/> </TableRow><TableRow><Buttonandroid:layout_width="match_parent"android:text="第一列"/><Buttonandroid:layout_width="match_parent"android:text="第二列"/><Buttonandroid:layout_width="match_parent"android:text="第三列"/><Buttonandroid:layout_width="match_parent"android:text="第四列"/><Buttonandroid:layout_width="match_parent"android:text="第五列"/></TableRow><TableRow><Buttonandroid:layout_width="match_parent"android:text="第一列"/></TableRow></TableLayout>

二、常见属性

1、android:collapseColumns:设置需要被隐藏的列的序号,从o开始
2、android:stretchColumns:设置允许被拉伸的列的列序号,从o开始
3、android:shrinkColumns:设置允许被收缩的列的列序号,从o开始

4、子控件设置属性

a、android:layout_column:显示在第几列
    b、android:layout_span:横向跨几列(占据几列)。

TableLayout只能通过  android:layout_span  设置其占据几列(列合并),而不能进行 行的合并,要进行 行的合并,也使用GridLayout布局。

三、Demo

1、android:collapseColumns

设置需要被隐藏的列的序号,从0开始。

上方代码中最外层的TableLayout添加下面属性

android:collapseColumns=“0”

可以看出:原来“第一列”的button被隐藏

2、android:stretchColumns

设置允许被拉伸的列的列序号,从o开始
    前面的显示可以看出,现在第五列右边有多余空间,调整使其到边界,最外层的TableLayout添加下面属性:

android:stretchColumns=“4”

可以看出:右边已被“第五列”button占满

3、android:shrinkColumns

设置允许被收缩的列的列序号,从o开始

最前面的“二”标题(刚添加TableRow),“第五列“部分显示在外面,添加以下代码:

android:shrinkColumns=“4”

"第五列"未超出屏幕了。

4、子控件设置属性

原来代码

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><!--    子控件属性设置--><TableRow><Buttonandroid:layout_width="match_parent"android:text="第一列"/><Buttonandroid:layout_width="match_parent"android:text="第二列"/></TableRow><TableRow><Buttonandroid:layout_width="match_parent"android:text="第一列"/><Buttonandroid:layout_width="match_parent"android:text="第二列"/><Buttonandroid:layout_width="match_parent"android:text="第三列"/><Buttonandroid:layout_width="match_parent"android:text="第四列"/><Buttonandroid:layout_width="match_parent"android:text="第五列"/></TableRow><TableRow><Buttonandroid:layout_width="match_parent"android:text="第一列"/></TableRow></TableLayout>

a、android:layout_column:显示在第几列

修改第一行的"第一列"到"第二列"位置。第一个TableRow的第一个button添加如下代码:

android:layout_column=“1”

则代码为:

<Buttonandroid:layout_width="match_parent"android:layout_column="1"android:text="第一列"/>

b、android:layout_span:横向跨几列

刚刚基础上,设置第一行的"第二列"占据两列,添加如下代码

android:layout_span=“2”

<Buttonandroid:layout_width="match_parent"android:layout_span="2"android:text="第二列"/>

Android学习|布局——TableLayout 表格布局相关推荐

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

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

  2. Android 应用开发(38)TableLayout(表格布局)

    TableLayout(表格布局) 前面我们已经学习了平时实际开发中用得较多的线性布局(LinearLayout)与相对布局(RelativeLayout), 其实学完这两个基本就够用了,笔者在实际开 ...

  3. Android基础入门教程——2.2.3 TableLayout(表格布局)

    Android基础入门教程--2.2.3 TableLayout(表格布局) 标签(空格分隔): Android基础入门教程 本节引言: 前面我们已经学习了平时实际开发中用得较多的线性布局(Linea ...

  4. 【Android 】零基础到飞升 | TableLayout(表格布局)

    2.2.3 TableLayout(表格布局) 本节引言: 前面我们已经学习了平时实际开发中用得较多的线性布局(LinearLayout)与相对布局(RelativeLayout), 其实学完这两个基 ...

  5. TableLayout 表格布局,FrameLaout 帧布局 ,AbsoluteLayout绝对布局的分析

    这三个布局就放在一起来写了他们用的比较少,不过为了写这遍 博客我换特意去复习了下, 第一个表格布局TableLayout 表格布局顾名思义 就是与表格类似,以行,列形式来管理其中的组件的, 它是< ...

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

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

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

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

  8. 常见界面布局之TableLayout(表格布局)

    1.什么是TableLayout(表格布局) TableLayout (表格布局)采用行.列的形式来管理控件,它不需要明确声明包含多少行.多少列,面是通过在TableLayout布局中添加TableR ...

  9. android表格布局最后一个组件,Android布局之TableLayout表格布局

    Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件.当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列 ...

最新文章

  1. 阿里云有史以来最大的一次优惠,爆款限时抢,至少省10000+
  2. 企业轻资产化趋势难挡,易点租适时而起未来可期
  3. QT,C++多项式计算器—version3(厌倦CMD黑框框的走起!)
  4. BN究竟起了什么作用?一个闭门造车的分析
  5. 平均数、中位数、众数的深刻定义,了解一下
  6. WeChat小程序报错Module not found: Can‘t resolve ‘umtrack-alipay‘ in
  7. 高级ZK:异步UI更新和后台处理–第1部分
  8. html怎么做成3d正方体,利用CSS3的3D效果制作正方体
  9. linux 创建文件夹快捷方式
  10. webstorm中文乱码问题
  11. 机械手的分类有哪几种?
  12. Python 用一行代码完成词频统计与分析,词频分析如此简单
  13. 脑电数据处理分析教程汇总(eeglab, mne-python)
  14. 解决Google Chrome添加快捷方式图标模糊
  15. 图像算法工程师面试考点集锦
  16. java/php/net/python加油站收费系统设计
  17. Twitter无法输入密码
  18. LBM中的straight boundary及部分代码(以D2Q9为例)
  19. 北京法院京牌小客车司法处置数据统计(Pandas)
  20. 刷题周记(八)——#区间DP:多边形、清空字符串 #状态机:股票买卖I~V、大盗阿福

热门文章

  1. 华为防火墙对ospf的处理
  2. Python爬取、查询新冠肺炎地级市数据,matplotlib数据可视化
  3. HTML表单(form)
  4. 华为ac配置radius认证服务器_AC6005内置portal+外置radius认证失败
  5. 互联网精准广告定向技术: 一切你该了解的知识总结与整理
  6. 初识 Beanstalk
  7. 大学python编程题_大学python题 求大佬解答!!!
  8. 使用 sed / shell 读取 ini 文件
  9. 基线的基本概念和基线分类
  10. 有度 java sdk开发,GitHub - Kisssky/youdu-sdk-java: ydsdk实现的java版