C蝦仔筆記 - GridLayout網格佈局

■GridLayout網格佈局

1.概述:Android4.0新增的以網格形式排布子控件的佈局管理器。
            若想在更早版本的系統上使用它,則要導入相應的支撐庫。
            與LinearLayout相似,也有佈局方向,默認是水平佈局挨個排列。
            實現GridLayout的效果,也可以用LinearLayout和TableLayout替代(不推薦)。

2.優點:

          (1)相比於LinearLayout:
                  GridLayout能同時在X和Y軸方向上控制子控件的對齊;

                  GridLayout避免了因爲過多層佈局嵌套而導致性能降低的問題。

          (2)相比於TableLayout:
                  GridLayout的行數和列數都能控制,避免TableRow加個子控件就可能加一列的情況;

                  GridLayout還能佔據多行或多列。

           總之,能夠迅速有效地實現較爲整齊有序的網格形式佈局。

3.屬性:

    (1)對齊方式:alignmentMode 對齊模式 setAlignmentMode(int)

    (2)排布方式:orientation 佈局方向 setOrientation(int)
            值爲horizontal時,若不定義列數,就不折行而可能從左往右溢出。(默認值)

            值爲vertical時,若不定義行數,就不折列而可能從上往下溢出。

    (3)行列個數:rowCount 行數 setRowCount(int) ; columnCount 列數 setColumnCount(int)

    (4)保留序號: rowOrderPreserved 是否保留行序號 setRowOrderPreserved

                         columnOrderPreserved 是否保留列序號 setColumnOrderPreserved

    (5)外邊距/頁邊距: useDefaultMargins 是否用默認頁邊距 setUseDefautMargins(boolean)


4.其子控件的屬性:

    對齊方式:layout_gravity 對應的父容器是所在的小網格(而非整個網格佈局) setGravity(int)

    自身位置:layout_row="0" 在第1行;layout_column="1" 在第2列

    跨行跨列:layout_rowSpan="2" 向下跨2行;layout_columnSpan="3" 向右跨3列
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章