玩转Andorid---UI篇---TableLayout(表格布局)
TableLayout是一个以行、列显示视图View的视图组
?
1、开始一个新的工程,名字叫做HelloTableLayout
?
2、打开res/layout/main.xml文件并且插入如下内容
<?xml version="1.0" encoding="utf-8"?><TableLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:stretchColumns="1"><TableRow><TextViewandroid:layout_column="1"android:text="Open..."android:padding="3dip"/><TextViewandroid:text="Ctrl-O"android:gravity="right"android:padding="3dip"/></TableRow><TableRow><TextViewandroid:layout_column="1"android:text="Save..."android:padding="3dip"/><TextViewandroid:text="Ctrl-S"android:gravity="right"android:padding="3dip"/></TableRow><TableRow><TextViewandroid:layout_column="1"android:text="Save as..."android:padding="3dip"/><TextViewandroid:text="Ctrl-Shift-S"android:gravity="right"android:padding="3dip"/></TableRow><Viewandroid:layout_height="2dip"android:background="#FF909090"/><TableRow><TextViewandroid:text="X"android:padding="3dip"/><TextViewandroid:text="Import..."android:padding="3dip"/></TableRow><TableRow><TextViewandroid:text="X"android:padding="3dip"/><TextViewandroid:text="Export..."android:padding="3dip"/><TextViewandroid:text="Ctrl-E"android:gravity="right"android:padding="3dip"/></TableRow><Viewandroid:layout_height="2dip"android:background="#FF909090"/><TableRow><TextViewandroid:layout_column="1"android:text="Quit"android:padding="3dip"/></TableRow></TableLayout>
?
注意到这个文件类似于HTML的table的结构,TableLayout元素就像是HTML中的<table>元素;TableRow就像是一一个<tr>元素;但是对于每一个单元格,你可以用各种视图元素,在这里例子里,每个单元格用TextView,在这些行之间,还有一个基本View,用来画水平线
TextView中的一些属性
android:layout_column="1":表示控件放在标号为1的列上,标号是从0开始的
android:gravity="right":定义字体在父控件中显示在右边
android:stretchColumns="1":设置自动拉伸哪些列,列ID从0开始,多个列的话用","分隔。这里的作用是让第2列可以扩展到所有可用空间
android:shrinkColumns:设置自动收缩哪些列,列ID从0开始,多个列的话用","分隔
android:collapseColumns:设置自动隐藏哪些列,列ID从0开始,多个列的话用","分隔
顺便:android:layout_span表示一个控件占几列空间
下面的是基本的View,是在屏幕上画一条2dip高的一条横线
?<View
??android:layout_height="2dip"
??android:background="#FF909090"
?/>
?
3、运行结果如下:

?