天天看點

android:TableLayout表格布局

一、Tablelayout簡介

       Tablelayout類以行和列的形式對控件進行管理,每一行為一個TableRow對象,或一個View控件。

         當為TableRow對象時,可在TableRow下添加子控件,預設情況下,每個子控件占據一列。

         當為View時,該View将獨占一行。

二、TableLayout行列數的确定

           TableLayout的行數由開發人員直接指定,即有多少個TableRow對象(或View控件),就有多少行。

        TableLayout的列數等于含有最多子控件的TableRow的列數。如第一TableRow含2個子控件,第二個TableRow含3個,第三個TableRow含4個,那麼該TableLayout的列數為4.

三、TableLayout可設定的屬性詳解

TableLayout可設定的屬性包括全局屬性及單元格屬性。

1、全局屬性也即列屬性,有以下3個參數:

android:stretchColumns    設定可伸展的列。該列可以向行方向伸展,最多可占據一整行。
android:shrinkColumns     設定可收縮的列。當該列子控件的内容太多,已經擠滿所在行,那麼該子控件的内容将往列方向顯示。
android:collapseColumns 設定要隐藏的列。
示例:
android:stretchColumns="0"           第0列可伸展
android:shrinkColumns="1,2"         第1,2列皆可收縮

android:collapseColumns="*"         隐藏所有行

說明:列可以同時具備stretchColumns及shrinkColumns屬性,若此,那麼當該列的内容N多時,将“多行”顯示其内容。(這裡不是真正的多行,而是系統根據需要自動調節該行的layout_height)

2、單元格屬性,有以下2個參數:

android:layout_column    指定該單元格在第幾列顯示

android:layout_span        指定該單元格占據的列數(未指定時,為1)

示例:

android:layout_column="1"    該控件顯示在第1列

android:layout_span="2"        該控件占據2列

說明:一個控件也可以同時具備這兩個特性。