Table Layout
TableLayout
是 ViewGroup
的一种,将包含的View放在表格的格子里面。
- 创建一个工程:HelloTableLayout
- 打开
res/layout/main.xml
并修改如下:<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="1"> <TableRow> <TextView android:layout_column="1" android:text="Open..." android:padding="3dip" /> <TextView android:text="Ctrl-O" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save..." android:padding="3dip" /> <TextView android:text="Ctrl-S" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save As..." android:padding="3dip" /> <TextView android:text="Ctrl-Shift-S" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Import..." android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Export..." android:padding="3dip" /> <TextView android:text="Ctrl-E" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:layout_column="1" android:text="Quit" android:padding="3dip" /> </TableRow> </TableLayout>
注意到TableLayout跟HTML里面的table非常像,<TableRow>和<tr>一样。至于单元格,里面可以放任何一种View。这个例子里,每个单元格摆放的都是TextView。在一些行(Row)之间,是一个原始View,用于画一条水平线。
- 请确保你的HelloTableLayout Activity在
onCreate()
方法装载了布局文件:public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }
setContentView(int)
方法装载这个Activity的布局文件,资源ID —R.layout.main
指向res/layout/main.xml
布局文件。
- 运行应用。
应该能看到下面的画面: