目录
前言
一 TableLayout基本介绍
二 TableLayout使用方法
三 TableLayout常见属性及方法
四 TableLayout简单案例
五 总结
前言
小伙伴们,在上文中我们介绍了Android布局RelativeLayout,本文我们继续盘点介绍Android开发中另一个常见的布局,相对布局TableLayout。
一 TableLayout基本介绍
TableLayout是用于显示表格布局的Android布局容器。它以行和列的形式组织视图,使得视图可以以表格的形式排列。
二 TableLayout使用方法
TableLayout是一种用于创建表格布局的Android布局容器。下面是TableLayout的使用方法:
-
在XML布局文件中定义TableLayout:
<TableLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><!-- 添加TableRows和TableCells --></TableLayout>
-
在TableLayout内部添加TableRows:
<TableLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><TableRow><!-- 添加TableCells --></TableRow><TableRow><!-- 添加TableCells --></TableRow><!-- 可以添加多个TableRows --></TableLayout>
-
在每个TableRow中添加TableCells:
<TableRow><TextViewandroid:text="Cell 1" /><TextViewandroid:text="Cell 2" /><!-- 可以添加多个TableCells --></TableRow>
-
可以在TableCells中添加任何视图,例如TextView、Button等。
-
设置TableLayout的属性:
android:layout_width
和android:layout_height
:设置TableLayout的宽度和高度。android:stretchColumns
:指定要拉伸的列索引(从0开始),使其占据可用空间的比例均衡分配,默认情况下所有列都具有相同的权重。- 其他属性:可以参考Android官方文档了解更多属性选项。
-
控制列的样式和行为:
- 使用
android:gravity
属性来设置单元格(TableCell)中文本的对齐方式。 - 使用其他视图属性(例如
android:layout_width
、android:layout_height
等)来控制单元格中视图的大小。
- 使用
三 TableLayout常见属性及方法
常见属性:
android:layout_width
和android:layout_height
:设置TableLayout的宽度和高度。android:stretchColumns
:指定要拉伸的列索引(从0开始),使其占据可用空间的比例均衡分配,默认情况下所有列都具有相同的权重。android:shrinkColumns
:指定当存在额外空间时要缩小的列索引(从0开始)。android:collapseColumns
:指定要折叠隐藏的列索引(从0开始)。android:background
:设置TableLayout的背景颜色或背景图片。
常见方法:
setColumnCollapsed(int columnIndex, boolean isCollapsed)
:将指定列折叠/展开。setColumnStretchable(int columnIndex, boolean isStretchable)
:设置指定列是否可以拉伸,即占据剩余空间。setColumnShrinkable(int columnIndex, boolean isShrinkable)
:设置指定列是否可以缩小,即在剩余空间不足时缩小。setGravity(int gravity)
:设置TableLayout中所有单元格的对齐方式。getLayoutParams()
:获取当前TableLayout的布局参数。requestLayout()
:请求重新计算TableLayout的布局。
四 TableLayout简单案例
以下是一个简单的TableLayout案例,演示如何创建一个包含两行三列的表格布局:
<TableLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"><!-- 第一行 --><TableRow><TextViewandroid:text="Cell 1"android:padding="8dp"android:background="#E0E0E0" /><TextViewandroid:text="Cell 2"android:padding="8dp"android:background="#E0E0E0" /><TextViewandroid:text="Cell 3"android:padding="8dp"android:background="#E0E0E0" /></TableRow><!-- 第二行 --><TableRow><TextViewandroid:text="Cell 4"android:padding="8dp"android:background="#FFFFFF" /><TextViewandroid:text="Cell 5"android:padding="8dp"android:background="#FFFFFF" /><TextViewandroid:text="Cell 6"android:padding="8dp"android:background="#FFFFFF" /></TableRow></TableLayout>
五 总结
TableLayout是用于创建表格布局的强大工具,适用于需要展示数据或按照表格形式排列视图的场景。通过合理使用TableLayout的属性和方法,可以实现各种复杂的表格布局需求。