目前最喜歡用 TableLayout, 不過, 直覺使用時有些並不符合我的期待, 因此研究一下這個Layout 使用法。 分為兩部份, 第一部份是 Android Reference 裡的內容, 第二部份是 Api Demo 裡的實作。
HightLight Principles
1 . Table 有 row & column 。 column 可以
Span (像 HTML )
2. Column 寬度的定義是 - 所有 row 裡有著最寬的cell的那個column 的寬度。
3. Table 總寬度就是他的 container 的寬度, Table 的 children 寬度必須是MATCH_PARENT, 但高度可以是其它, 像 TableRow default 就是 WRAP_CONTENT
4. TableLayout 可以設定特定 Column 是 shrinkable 與stretchable (兩者可同時存在)
5.
Shrinkable 就是說 column width 可以減縮到讓 table 放在他的 parent object 裡 (感覺好偉大 www)
6.
Stretchable 就是說 column 可以延展自己的寬度把空白填滿
7. 如果要隱藏column 用
Collapse
8.
Column - number , Cell ( ie. view object) 可以設定 column-number 如果不自訂的化系統會幫忙定 以 increase +1 的方法. Column number 是從 0 開始的
9. 如果你的view object 不放在 Table row 裡, layout會把這個 view 當作一個 row 來看 (span all columns)
ApiDemo 解析 :
Api TableLayout Demo 06. More spanning and stretchable (學習 Column Number / Stretch )