1、TableLayout(表格布局)的样式,就像是一张表格。每个TableLayout,都由多个TableRow组成,每个TableRow就是一行,有几个TableRow就有几行。TableLayout不会显示行号和列号,也没有分割线,其行数和列数都可以进行操作。
下面是 3 (行) x 3(列) 的TableLayout,其xml布局文件table_relative01.xml如下:

<?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 ><Button
            android:id="@+id/button01"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮1"      ></Button><Button
            android:id="@+id/button02"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮2"      ></Button><Button
            android:id="@+id/button03"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮3"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button04"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮4"      ></Button><Button
            android:id="@+id/button05"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮5"      ></Button><Button
            android:id="@+id/button06"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮6"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button07"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮7"      ></Button><Button
            android:id="@+id/button08"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮8"      ></Button><Button
            android:id="@+id/button09"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮9"      ></Button></TableRow>
</TableLayout>

实际效果图如下:

该布局xml文件,有三行,每一行有3个Button按钮,是3 x 3的TableLayout。

2、TableLayout的android:shrinkColumns属性,当TableRow里边的空间布满布局的时候,指定列自动延伸以填充可用部分。当TableRow里边的控件还没有布满布局时,android:shrinkColumns不起作用。
下面的布局文件table_relative02_1.xml,演示了android:shrinkColumns属性的使用:

<?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"android:shrinkColumns="2"><TableRow ><Button
            android:id="@+id/button01"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮1" ></Button><!-- android:text="按钮1AAAAAAAAAAAAAAA" --> <Button
            android:id="@+id/button02"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮2"      ></Button><!-- android:text="按钮2AAAAAAAAAAAAAAA" --> <Button
            android:id="@+id/button03"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮3AAAAAAAAAAAAAAA"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button04"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮4"      ></Button><Button
            android:id="@+id/button05"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮5"      ></Button><Button
            android:id="@+id/button06"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮6"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button07"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮7"      ></Button><Button
            android:id="@+id/button08"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮8"      ></Button><Button
            android:id="@+id/button09"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮9"      ></Button></TableRow>
</TableLayout>

实际效果图如下:

从上面的实际效果图片可以看到,当TableLayout设置了android:shrinkColumns属性,则在TableRow中的控件如果超长的话,设置指定的列为可收缩的列。当可收缩的列太宽(内容过多)不会被挤出屏幕。当需要设置多列为可收缩时,将列序号用逗号隔开。

下面的布局文件table_relative02_2.xml,演示了没有设置android:shrinkColumns属性,则在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 ><Button
            android:id="@+id/button01"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮1" ></Button><!-- android:text="按钮1AAAAAAAAAAAAAAA" --> <Button
            android:id="@+id/button02"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮2AAAAAAAAAAAAAAA"      ></Button><!-- android:text="按钮2" --> <Button
            android:id="@+id/button03"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮3AAAAAAAAAAAAAAA"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button04"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮4"      ></Button><Button
            android:id="@+id/button05"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮5"      ></Button><Button
            android:id="@+id/button06"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮6"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button07"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮7"      ></Button><Button
            android:id="@+id/button08"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮8"      ></Button><Button
            android:id="@+id/button09"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮9"      ></Button></TableRow>
</TableLayout>

实际效果图如下:

3-1、TableLayout的android:stretchColumns属性,用于指定列对空白部分进行填充。
下面的布局文件table_relative03_1.xml,演示了android:stretchColumns属性的使用:

<?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"android:stretchColumns="1"><TableRow ><Button
            android:id="@+id/button01"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮1" ></Button><Button
            android:id="@+id/button02"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮2"      ></Button><!-- android:text="按钮2" --> <Button
            android:id="@+id/button03"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮3"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button04"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮4"      ></Button><Button
            android:id="@+id/button05"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮5"      ></Button><Button
            android:id="@+id/button06"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮6"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button07"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮7"      ></Button><Button
            android:id="@+id/button08"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮8"      ></Button><Button
            android:id="@+id/button09"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮9"      ></Button></TableRow>
</TableLayout>

实际效果图如下:

3-2、android:stretchColumns属性,若有多列需要设置为可伸展,请用逗号将需要伸展的列序号隔开。
下面的布局文件table_relative03_2.xml,演示了多行android:stretchColumns属性的使用:

<?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"android:stretchColumns="0,2"><TableRow ><Button
            android:id="@+id/button01"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮1" ></Button><Button
            android:id="@+id/button02"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮2"      ></Button><!-- android:text="按钮2" --> <Button
            android:id="@+id/button03"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮3"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button04"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮4"      ></Button><Button
            android:id="@+id/button05"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮5"      ></Button><Button
            android:id="@+id/button06"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮6"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button07"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮7"      ></Button><Button
            android:id="@+id/button08"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮8"      ></Button><Button
            android:id="@+id/button09"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮9"      ></Button></TableRow>
</TableLayout>

实际效果图如下:

4、TableLayout的android:collapseColumns属性,用于隐藏指定的列,若有多列需要隐藏,请用逗号将需要隐藏的列序号隔开。。
下面的布局文件table_relative04.xml,演示了android:collapseColumns属性的使用:

<?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"android:collapseColumns="1"><TableRow ><Button
            android:id="@+id/button01"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮1" ></Button><Button
            android:id="@+id/button02"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮2"      ></Button><!-- android:text="按钮2" --> <Button
            android:id="@+id/button03"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮3"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button04"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮4"      ></Button><Button
            android:id="@+id/button05"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮5"      ></Button><Button
            android:id="@+id/button06"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮6"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button07"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮7"      ></Button><Button
            android:id="@+id/button08"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮8"      ></Button><Button
            android:id="@+id/button09"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮9"      ></Button></TableRow>
</TableLayout>

实际效果图如下:

5、TableLayout的android:layout_span属性,设置组件显示所占用的列数。
下面的布局文件table_relative05.xml,演示了android:layout_span*属性的使用:

<?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 ><Button
            android:id="@+id/button01"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_span="3"android:text="按钮1" ></Button><Button
            android:id="@+id/button02"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮2"      ></Button><!-- android:text="按钮2" --> <Button
            android:id="@+id/button03"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮3"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button04"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮4"      ></Button><Button
            android:id="@+id/button05"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_span="3"android:text="按钮5"      ></Button><Button
            android:id="@+id/button06"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮6"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button07"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮7"      ></Button><Button
            android:id="@+id/button08"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮8"      ></Button><Button
            android:id="@+id/button09"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮9"      ></Button></TableRow>
</TableLayout>

实际效果图如下:

6、TableLayout的android:layout_column属性,设置组件所在列数。
下面的布局文件table_relative06.xml,显示了android:layout_column属性的使用:

<?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 ><Button
            android:id="@+id/button01"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮1" ></Button><Button
            android:id="@+id/button02"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_column="2"android:text="按钮2"      ></Button><!-- android:text="按钮2" --> <Button
            android:id="@+id/button03"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮3"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button04"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_column="1"android:text="按钮4"      ></Button><Button
            android:id="@+id/button05"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮5"      ></Button><Button
            android:id="@+id/button06"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮6"      ></Button></TableRow><TableRow ><Button
            android:id="@+id/button07"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮7"      ></Button><Button
            android:id="@+id/button08"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮8"      ></Button><Button
            android:id="@+id/button09"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮9"      ></Button></TableRow>
</TableLayout>

实际效果图如下:

TableLayout的基本使用方式相关推荐

  1. HarmonyOS之常用布局TableLayout的使用

    TableLayout 使用表格的方式划分子组件,如下所示: TableLayout 的共有 XML 属性继承自 Component,详情请参考我之前的博客:HarmonyOS之组件通用的XML属性总 ...

  2. 【转】Pro Android学习笔记(二五):用户界面和控制(13):LinearLayout和TableLayout...

    目录(?)[-] 布局Layout 线性布局LinearLayout 表格布局TableLayout 布局Layout Layout是容器,用于对所包含的view进行布局.layout是view的子类 ...

  3. 如何制作表格(一)——TableLayout

    一.Android中能够用于网格布局的控件(制作各种这样的表格) Android提供了四种方式来制作表格,分别为: TableLayout.GridLayout.GridView.Recycler中的 ...

  4. 3.2.3 TableLayout(表格布局)

    3.2.3 TableLayout(表格布局) 标签: StudyNote 本文声明: 本文由Coder-pig编写,想了解其他内容,可见CoderPig's Android Study Note-- ...

  5. android入门知识,android基础知识学习笔记

    该笔记主要是通过学习<第一行代码>中的各种知识点以及实例,进行的个人学习记录,感谢图书作者郭霖大神 android:label 指定活动中标题栏的内容,标题栏是显示在活动最 顶部的* 标题 ...

  6. css 属性名 查询表

    azimuth background-attachment -- 背景图片随滚动轴的移动方式 background-color -- 背景颜色 background-image -- 背景图像 bac ...

  7. android五大布局的作用,Android五大布局与实际应用详解

    Android总体有五大布局: 线性布局(LiearLayout): 屏幕垂直或水平方向布局. 帧布局(FrameLayout):控件从屏幕左上角开始布局. 相对布局(RelativeLayout): ...

  8. 期末安卓——摆烂小白一天的复习生活

    1.学习工具及工具连接 学习工具:Android Studio和夜神模拟器: 连接:在资源管理器中找到模拟器的安装目录下的bin文件夹,输入cmd,直接定位 输入:nox_adb.exe connec ...

  9. android layout 界面开发,步步为营_Android开发课[14]_用户界面之Layout(布局)

    主题:用户界面之Layout(布局) -在Android开发中我们有传说中的5大布局,它们的结合使用,画出了APP界面的条条框框. Android中常用的5大布局: 线性布局(LinearLayout ...

最新文章

  1. 2018谷歌学术指数发布——看看综合、生物、生信、微生物领域高引文章和杂志
  2. Swift实战-QQ在线音乐(第二版)
  3. js修改display_Vue.js从零开始——过渡 / 动画效果(2)
  4. Java文件路径(getResource)
  5. Java 8 Stream的性能到底如何?
  6. android mqtt详解_Android mqtt入门 Android studio(转)
  7. Linux进阶之路———Shell 编程入门
  8. 万有引力的意思_万有引力和引力有什么不同?四种基本性质力中电磁力最多
  9. php 中文拼音,php中文转拼音
  10. php 可用内存大小,关于php:致命错误:允许的内存大小为67108864字节耗尽
  11. Bag-of-words模型、TF-IDF模型
  12. 运动控制——运动曲线分析
  13. vue组件eleme 时间选择器问题
  14. 前后落差大用什么词语_描写心理落差大词语
  15. 计算机网络自顶向下方法华为路由器配置OSPFv3路由协议实现端到端的通信
  16. 解决树莓派鼠标延迟/迟滞问题解决
  17. 互联网日报 | QQ正式上线QID功能;高通骁龙888处理器正式发布;嫦娥五号成功落月...
  18. 信息安全技术——(三)标识与认证技术
  19. 基于Ubuntu的esp32编程学习(https://www.bilibili.com/video/BV1wV4y1G7Vk?p=22vd_source=c89885f80e65caacb539e)
  20. BUCK降压电路PCB布局布线

热门文章

  1. SurfaceView的基础使用
  2. ServletContext中getRealPath()读取文件、观察servlet运行过程
  3. 以图搜图/图像检索相关资料
  4. IBM xSeries 226 8648 系统参数
  5. 控制台输入菱形的高度
  6. 1.Premiere Pro CS6界面介绍
  7. jQuery中下拉动画slideDown
  8. 博弈论 ————————
  9. Delta并联机械臂实现电磁铁搬运功能
  10. linux初学基本命令,Linux初学者一定要知道的12个基本命令