• 介绍
  • 用例

介绍

表格布局由TableLayout类代表,其会采用行、列的形式来管理UI组件。

TableLayout通过添加TableRow、其它组件来控制表格的行数和列数,而不需要明确地声明包含多少行、多少列。

每次向TableLayout中添加一个TableRow,该TableRow就是一个表格行,TableRow也是容器,因此它也可以不断地添加其它组件,每添加一个子组件该表格就增加一列。若直接向TableLayout中添加组件,那么这个组件将直接占用一行

在表格布局中,列的宽度由该列中最宽的那个单元格决定,整个表格布局的宽度则取决于父容器的宽度(默认总是占满父容器本身)。

列单元格常用的三种行为方式:

  • Shrinkable。该列的所有单元格的宽度可以被收缩,以保证该表格能适应父容器的宽度
  • Stretchable。该列的所有单元格的宽度可以被拉伸,以保证组件能完全填满表格空余空间
  • Collapsed。该列的所有单元格会被隐藏

用例

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:gravity="bottom|center_horizontal"android:orientation="vertical"><!--定义一个表格布局,指定第2列允许收缩,第3列允许拉伸,第4列允许隐藏。第一行是一个Button,而第二行是四个Button--><TableLayout
        android:id="@+id/tableLayout"android:layout_width="fill_parent"android:layout_height="fill_parent"android:shrinkColumns="2"android:stretchColumns="3"android:collapseColumns="4"><Button
            android:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button" /><TableRow><Button android:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button1"/><Button android:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button2"/><Button android:id="@+id/button3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button3"/><Button android:id="@+id/button4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button4"/></TableRow></TableLayout>
</LinearLayout>

相应地界面展示结果:


摘自《疯狂Android讲义》

布局管理器——表格布局相关推荐

  1. android 布局管理器,【Android开发】布局管理器-表格布局

    在XML布局文件中定义表格布局管理器的基本语法: 属性列表 > 需要添加的UI组件 多个TableRow TableLayout支持的XML属性: android:collapseColumns ...

  2. android 布局管理器 各种布局简介

    android中布局管理器是以ViewGroup为基类派生的.分为线性布局(LinearLayout).表格布局(TableLayout).帧布局(FrameLayout).相对布局(Relative ...

  3. java 布局管理器_java布局管理器-borderlayout

    在构造方法中添加代码: 窗口大小 this.setSize(500, 600); 窗口设置borderlayout布局管理器 this.getContentPane().setLayout(new B ...

  4. 布局管理器 2----- 表格布局

    2019独角兽企业重金招聘Python工程师标准>>> 表格布局由TableLayout所代表,表格布局采用行.列的形式来管理UI组件,TableLayout并不需要明确地声明包含多 ...

  5. 【Android开发】布局管理器-线性布局

    这里实现垂直布局和水平布局: 垂直布局效果图: 实现代码: 垂直线性布局 res/layout/main.xml: <LinearLayout xmlns:android="http: ...

  6. 布局管理器 4----- 相对布局

    2019独角兽企业重金招聘Python工程师标准>>> 相对布局由RelativeLayout代表,相对布局容器内子组件的位置总是相对兄弟组件.父容器来决定的,因此这种布局方式被称为 ...

  7. 表格布局页面_对于表格布局管理器的回顾以及接下来的目标

    回顾知识点 前面的学习中,我们学习了表格布局管理器,表格布局与常见的表格类似,它以行.列的形式来管理放入其中的UI组件.表格布局使用标记定义. 在表格布局中,列可以被隐藏,也可以被设置为伸展的,从而填 ...

  8. Android中的6大布局管理器

    文章目录 6大布局管理器详解 1. LinearLayout 线性布局管理器 2. TableLayout 表格布局管理器 3. GridLayout 网格布局管理器 ~~~~~~~~~~~~~~~~ ...

  9. Java GUI编程的几种常用布局管理器

    Java GUI编程的几种常用布局管理器 本人是一个大二的学生.因为最近有做JavaGUI界面的需求,因此重新开始熟悉JavaGUI的各种控件和布局.然后以次博文为笔记,总结.完善以及发表最近学习的一 ...

最新文章

  1. scikit learning curve学习曲线绘制
  2. typedef、setw()
  3. 不关闭seLinux解决vsftpd服务本地用户不能登录问题(500 OOPS: cannot change directory:/home/***
  4. 容器 - concurrent包之ConcurrentHashMap
  5. (转)光照模型及cg实现
  6. 算法与数据结构(冒泡排序,选择排序和插入排序的总结)
  7. 解读:一种来自Facebook团队的大规模时间序列预测算法(附github链接)
  8. vue生命周期探究(一)
  9. 怎么确保一个集合不能被修改?
  10. C语言链表存储数据并排序,c语言求助:怎么根据链表中的某个数据对链表进行排序?...
  11. 跨域请求/SpringMVC拦截器
  12. [雪峰磁针石博客]数据仓库快速入门教程1简介
  13. dreamweaver cs6配置phonegap环境
  14. Python 高级:人工智能概述
  15. Android 11 新特性和API兼容
  16. CSS学习笔记7PS切图与仿学成在线例子
  17. input/textarea 输入框点击有边框解决方法
  18. php amr格式转换,php 微信amr转mp3的方法
  19. 项目风险应对策略总结
  20. css3 动画之 2D旋转 3D旋转 放大

热门文章

  1. 三层架构(我的理解及详细分析)
  2. 前台通过base64传图片到后台的实现方法
  3. .net 4.0 安装到IIS
  4. 世界人工智能融合发展大会开幕 山东AI产业未来可期
  5. 安装配置apache
  6. 【图像处理】相机成像原理
  7. Android TableLayout记
  8. StarUML使用教程一览
  9. cobra是什么鬼?
  10. Windows Hyper VBS Virtualization-based Security