首页 > 代码库 > Android中的表格布局TableLayout

Android中的表格布局TableLayout

表格布局最主要的三个属性:


XML代码实例:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <!-- 定义第一个表格布局,指定第2列允许收缩,第3列允许拉伸 -->
    <TableLayout android:id="@+id/TableLayout01"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:shrinkColumns="1"
        android:stretchColumns="2"
        >
        <!-- 直接添加按钮,它自己会占一行 -->
        <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/ok1"
            android:text="独"
            />
        <!-- 添加一个表格行 -->
        <TableRow android:layout_width="match_parent" android:layout_height="wrap_content">
            <Button android:id="@+id/ok2" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="普"/>
            <Button android:id="@+id/ok3" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="收"/>
            <Button android:id="@+id/ok4" android:layout_width="wrap_content" 
                android:layout_height="wrap_content" android:text="拉"/>
        </TableRow>
    </TableLayout>
    
    <!-- 定义第二个表格布局,指定第2列隐藏 -->
    <TableLayout android:id="@+id/TableLayout02" android:layout_marginTop="30dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:collapseColumns="1"
        >
        <!-- 直接添加按钮,它自己会占一行 -->
        <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="独"
            />
           <TableRow android:layout_width="match_parent" android:layout_height="wrap_content">
            <Button  android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="普"/>
            <Button  android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="收"/>
            <Button  android:layout_width="wrap_content" 
                android:layout_height="wrap_content" android:text="拉"/>
        </TableRow>
    </TableLayout>
    
    <!-- 定义第三个表格布局,指定第2列和第三列允许被拉伸 -->
	<TableLayout android:id="@+id/TableLayout03"
	    android:layout_width="match_parent"
	    android:layout_height="wrap_content"
	    android:stretchColumns="1,2" android:layout_marginTop="30dp"
	    >
      <Button android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="独"
     />
      <TableRow android:layout_width="match_parent" android:layout_height="wrap_content">
            <Button  android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="普通按钮"/>
            <Button  android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="拉"/>
            <Button  android:layout_width="wrap_content" 
                android:layout_height="wrap_content" android:text="拉"/>
       </TableRow>
       <!-- 定义一个表格行 -->
      <TableRow android:layout_width="match_parent" android:layout_height="wrap_content">
           <Button  android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="普"/>
            <Button  android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="拉"/>
      </TableRow>
	</TableLayout>
</LinearLayout>

效果:


总结:

如果没有用tableRow,直接用组件,将自己独占一行,并且填充父窗口

而如果用tableRow,上下两行各列将对齐。

Android中的表格布局TableLayout