TableLayout的基本使用方式
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的基本使用方式相关推荐
- HarmonyOS之常用布局TableLayout的使用
TableLayout 使用表格的方式划分子组件,如下所示: TableLayout 的共有 XML 属性继承自 Component,详情请参考我之前的博客:HarmonyOS之组件通用的XML属性总 ...
- 【转】Pro Android学习笔记(二五):用户界面和控制(13):LinearLayout和TableLayout...
目录(?)[-] 布局Layout 线性布局LinearLayout 表格布局TableLayout 布局Layout Layout是容器,用于对所包含的view进行布局.layout是view的子类 ...
- 如何制作表格(一)——TableLayout
一.Android中能够用于网格布局的控件(制作各种这样的表格) Android提供了四种方式来制作表格,分别为: TableLayout.GridLayout.GridView.Recycler中的 ...
- 3.2.3 TableLayout(表格布局)
3.2.3 TableLayout(表格布局) 标签: StudyNote 本文声明: 本文由Coder-pig编写,想了解其他内容,可见CoderPig's Android Study Note-- ...
- android入门知识,android基础知识学习笔记
该笔记主要是通过学习<第一行代码>中的各种知识点以及实例,进行的个人学习记录,感谢图书作者郭霖大神 android:label 指定活动中标题栏的内容,标题栏是显示在活动最 顶部的* 标题 ...
- css 属性名 查询表
azimuth background-attachment -- 背景图片随滚动轴的移动方式 background-color -- 背景颜色 background-image -- 背景图像 bac ...
- android五大布局的作用,Android五大布局与实际应用详解
Android总体有五大布局: 线性布局(LiearLayout): 屏幕垂直或水平方向布局. 帧布局(FrameLayout):控件从屏幕左上角开始布局. 相对布局(RelativeLayout): ...
- 期末安卓——摆烂小白一天的复习生活
1.学习工具及工具连接 学习工具:Android Studio和夜神模拟器: 连接:在资源管理器中找到模拟器的安装目录下的bin文件夹,输入cmd,直接定位 输入:nox_adb.exe connec ...
- android layout 界面开发,步步为营_Android开发课[14]_用户界面之Layout(布局)
主题:用户界面之Layout(布局) -在Android开发中我们有传说中的5大布局,它们的结合使用,画出了APP界面的条条框框. Android中常用的5大布局: 线性布局(LinearLayout ...
最新文章
- 2018谷歌学术指数发布——看看综合、生物、生信、微生物领域高引文章和杂志
- Swift实战-QQ在线音乐(第二版)
- js修改display_Vue.js从零开始——过渡 / 动画效果(2)
- Java文件路径(getResource)
- Java 8 Stream的性能到底如何?
- android mqtt详解_Android mqtt入门 Android studio(转)
- Linux进阶之路———Shell 编程入门
- 万有引力的意思_万有引力和引力有什么不同?四种基本性质力中电磁力最多
- php 中文拼音,php中文转拼音
- php 可用内存大小,关于php:致命错误:允许的内存大小为67108864字节耗尽
- Bag-of-words模型、TF-IDF模型
- 运动控制——运动曲线分析
- vue组件eleme 时间选择器问题
- 前后落差大用什么词语_描写心理落差大词语
- 计算机网络自顶向下方法华为路由器配置OSPFv3路由协议实现端到端的通信
- 解决树莓派鼠标延迟/迟滞问题解决
- 互联网日报 | QQ正式上线QID功能;高通骁龙888处理器正式发布;嫦娥五号成功落月...
- 信息安全技术——(三)标识与认证技术
- 基于Ubuntu的esp32编程学习(https://www.bilibili.com/video/BV1wV4y1G7Vk?p=22vd_source=c89885f80e65caacb539e)
- BUCK降压电路PCB布局布线