TableLayout 类似 HTML 的表格,由多行<TableRow>组成,每一个<TableRow>代表表格里的一行;可以指定控件放在第几列,列下标从0开始。
关键属性与标签
<TableRow>:代表表格中的一行,行内部放置单元格控件android:layout_column="n":指定当前控件放在第n列,列索引从0开始android:stretchColumns="1":设置第1列为拉伸列,自动占满剩余屏幕宽度<View>用作分割线:设置很小的高度和背景色,实现行与行之间分隔条
源码
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1">
<TableRow>
<TextView
android:layout_column="1"
android:text="New Pic"
android:padding="3dip" />
<TextView
android:text="Swap‑left"
android:gravity="right"
android:padding="3dip" />
</TableRow>
<TableRow>
<TextView
android:layout_column="1"
android:text="Love This One ?"
android:padding="3dip" />
<TextView
android:text="Swap‑Right"
android:gravity="right"
android:padding="3dip" />
</TableRow>
<!-- 分割线 -->
<View
android:layout_height="2dip"
android:background="#FF909090" />
<TableRow>
<TextView
android:layout_column="1"
android:text="Share ?"
android:padding="3dip" />
<TextView
android:text="Swap‑Top"
android:gravity="right"
android:padding="3dip" />
</TableRow>
<View
android:layout_height="2dip"
android:background="#FF909090" />
<TableRow>
<TextView
android:text="X"
android:padding="3dip" />
<TextView
android:text="Some Other Thing"
android:padding="3dip" />
</TableRow>
<View
android:layout_height="2dip"
android:background="#FF909090" />
<TableRow>
<TextView
android:layout_column="1"
android:text="Quit"
android:padding="3dip" />
<TextView
android:text="Swap‑Done"
android:gravity="right"
android:padding="3dip" />
</TableRow>
</TableLayout>Code language: HTML, XML (xml)
说明
stretchColumns="1":第1列自动拉伸,占据屏幕剩下全部宽度;layout_column="1":控件跳过0号列,直接放到第1列;- 普通
<View>放在 TableLayout 下,充当灰色分割线,隔开各组表格行; gravity="right":文字在单元格内部靠右对齐。

Previous: 相对布局 RelativeLayout
Next: 资源 Resources