原文地址:http://developer.android.com/resources/tutorials/views/hello-tablelayout.html
学习心得:
1.在第一行的第一个TextView中设置了android:layout_colunm="1"属性,表示在该表格中第一行中第0列为空,TextView是在第1列中,在TableLayout中,列数是从0开始的。
2.TableLayout不单单只能放置TableRow,也可以是单独的任何View,因为TableLayout是一个控件容器。其中,单独放置的容器占用一行,例如下面的View
<View android:layout_height="2dip"
android:background="#FF909090"/>
Table Layout
TableLayout
is a ViewGroup
that displays child View
elements in rows and columns.
- Start a new project named HelloTableLayout.
- Open the
res/layout/main.xml
file and insert the following:<?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>
<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>Notice how this resembles the structure of an HTML table. The
TableLayout
element is like the HTML<table>
element;TableRow
is like a><tr>>
element; but for the cells, you can use any kind ofView
element. In this example, aTextView
is used for each cell. In between some of the rows, there is also a basicView
, which is used to draw a horizontal line. - Make sure your HelloTableLayout Activity loads this layout in the
onCreate()
method:publicvoid onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}The
setContentView(int)
method loads the layout file for theActivity
, specified by the resource ID —R.layout.main
refers to theres/layout/main.xml
layout file. - Run the application.
- You should see the following: