上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界面的显示工作。