表格布局 TableLayout

TableLayout 类似 HTML 的表格,由多行<TableRow>组成,每一个<TableRow>代表表格里的一行;可以指定控件放在第几列,列下标从0开始

关键属性与标签

  1. <TableRow>:代表表格中的一行,行内部放置单元格控件
  2. android:layout_column="n":指定当前控件放在第n列,列索引从0开始
  3. android:stretchColumns="1":设置第1列为拉伸列,自动占满剩余屏幕宽度
  4. <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)

说明

  1. stretchColumns="1"第1列自动拉伸,占据屏幕剩下全部宽度;
  2. layout_column="1":控件跳过0号列,直接放到第1列;
  3. 普通<View>放在 TableLayout 下,充当灰色分割线,隔开各组表格行;
  4. gravity="right":文字在单元格内部靠右对齐。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注