Android编程典型实例与项目开发
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.5 TableLayout——表格布局的应用

本节通过TableLayout表格布局的应用,构建了一个显示学生信息表的界面,并通过对本程序的具体功能的实现介绍TableLayout表格布局的具体应用。

1. 实例概述

本节构建了一个显示学生信息表小程序,在该本程序中可以显示不同同学的一些基本信息,包括学生的学号、姓名和籍贯等信息。

2. 运行效果

本案例的运行效果图如图2-5所示。

图2-5 学生信息表截图

提示:在图2-5中,首先是“学生信息表”表头,在表头下面是字段名称部分,在字段名称下面是表中的一些基本信息。

3. 技术概要

本程序的开发主要运用了TableLayout表格布局的相关知识。表格布局以行和列的形式管理控件,每行为一个TableRow对象,也可以是一个View对象。TableRow可以添加子控件,每次添加一个子控件即为一列。

4. 核心代码

首先介绍的是本程序的主界面main.xml的开发,代码如下。

代码位置:见随书光盘中源代码/第2章/Sample2_5/ res/layout目录下的main.xml。

      1  <?xml version="1.0" encoding="utf-8"?>
      2  <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
      3      android:layout_width="fill_parent"   android:layout_height="fill_parent"
      4      android:background="#edab4a"
      5      android:stretchColumns="0,1,2"    android:shrinkColumns="1,2" >
      6      <TextView
      7      android:text="学生信息表"
      8      android:gravity="center" android:id="@+id/tv1"
      9      android:textColor="#FF0000" android:textSize="30dip"
      10     android:background="#184124"/>
      11     <TableRow>                                           <!--TableRow-->
      12        <TextView
      13             android:layout_column="0" android:text="学号"
    14             android:gravity="center" android:textColor="#FF0000"
    15             android:background="#182241" android:layout_margin="4dip"/>
    16        <TextView
    17             android:layout_column="1" android:text="姓名"
    18             android:gravity="center" android:textColor="#FF0000"
    19             android:background="#182241" android:layout_margin="4dip"/>
    20        <TextView
    21             android:text="籍贯"          android:gravity="center"
    22             android:textColor="#FF0000" android:background="#182241"
    23             android:layout_margin="4dip"/>
    24     </TableRow>                                      <!--TableRow-->
    25     <TableRow>
    26        <TextView
    27             android:text=" 20100101 "          android:gravity="center"
    28             android:textColor="#FF0000" android:background="#182241"
    29             android:layout_margin="4dip"/>
        <!--TextView-->
    30        <TextView
    31             android:text="张三"          android:gravity="left"
    32             android:textColor="#FF0000" android:background="#182241"
    33             android:layout_margin="4dip"/>
    34        <TextView
    35             android:text="河北省石家庄市"      android:gravity="right"
    36             android:textColor="#FF0000" android:background="#182241"
    37             android:layout_margin="4dip"/>
        <!--TextView控件-->
    38     </TableRow>                                      <!--TableRow-->
    39     <TableRow>
    40        <TextView
    41             android:text=" 20100102 "          android:gravity="center"
    42             android:textColor="#FF0000" android:background="#182241"
    43             android:layout_margin="4dip"/>
    44        <TextView
    45             android:text="李四"          android:gravity="left"
    46             android:textColor="#FF0000" android:background="#182241"
    47             android:layout_margin="4dip"/>
    48        <TextView
    49             android:text="内蒙古呼和浩特市"      android:gravity="right"
    50             android:textColor="#FF0000" android:background="#182241"
    51             android:layout_margin="4dip"/>
        <!--TextView控件-->
    52     </TableRow>                                      <!--TableRow-->
    53     <TableRow>
    54        <TextView
    55             android:text="20100103"          android:gravity="center"
    56             android:textColor="#FF0000" android:background="#182241"
    57             android:layout_margin="4dip"/>
      58        <TextView
      59             android:text="王五"          android:gravity="left"
      60             android:textColor="#FF0000" android:background="#182241"
      61             android:layout_margin="4dip"/>
      62        <TextView
      63             android:text="广州"          android:gravity="right"
      64             android:textColor="#FF0000" android:background="#182241"
      65             android:layout_margin="4dip"/>
      66     </TableRow>                                      <!--TableRow-->
      67 </TableLayout>

提示:在该XML文件中实现了布局的设置。总的布局为TableLayout布局。在总布局中,应用了4个TableRow来创建4行表数据,并通过对各个控件的属性设置,实现了该小软件的界面效果。

上面已经介绍了本程序的主界面main.xml的开发,接下来介绍本程序的具体功能的实现,代码如下。

代码位置:见随书光盘中源代码/第2章/Sample2_5/src/com/bn/ex2e目录下的Sample2_5_Activity.class。

      1  package com.bn. ex2e;                               //包名
      2  import android.app.Activity;                       //包引用声明
      3  import android.os.Bundle;
      4  public class Sample2_5_Activity extends Activity {//该类继承了Activity类
      5      public void onCreate(Bundle savedInstanceState) {//实现onCreate()方法
      6         super.onCreate(savedInstanceState);         //继承父类的onCreate()方法
      7         setContentView(R.layout.main);              //将界面跳转到main.xml界面
      8      }}