Android编程经典200例
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

实例5 结构紧凑的表格布局

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

【实例描述】

本小节构建了一个显示学生信息表小程序,在本程序中可以显示不同的同学的一些基本信息。包括学生的学号、姓名和籍贯等信息。本实例的运行效果图,如图2-5所示。

图2-5 学生信息表截图

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

【实现过程】

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

【代码解析】

首先为读者介绍本程序的主界面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      }}

提示:该类主要实现main.xml界面的显示工作。