一、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列
說明:一個控件也可以同時具備這兩個特性。