1. 程式人生 > >UI組件:布局管理器

UI組件:布局管理器

tro horizon ui組件 推薦 換行 空白 you 水平對齊 根據

一、線性布局(LinearLayout)

  線性布局可以讓布局中的組件一個接著一個的連在一起水平對齊(orientation="vertical")或者垂直對齊(orientation="horizontal"),寫遊戲界面時會限制動作,所以不推薦遊戲界面中使用

  特點:線性布局不會主動換行,當幾個組件水平分布,但是這一行放不下時,多余的不會顯示

二、絕對布局(AbsoluteLayout)

 絕對布局沒有布局控制,組件的大小和位置全部由開發人員用x,y坐標來一一定義,由於手機的的屏幕大小和分辨率都存在差別,所以用絕對布局寫的程序在不同手機上的顯示效果可能會有變動,不推薦使用該布局方式

三、相對布局(RelativeLayout)

 線性布局是組件與組件之間的關系,設定一個組件的位置,然後其他組件可以根據該上下左右的位置關系來進行放置

  特點:使用相對布局需要給每個組件都給定一個id,方便組件位置的布局

四、幀布局(FrameLayout)

  幀布局的作用是將組件一個個的疊加在一起,但是不能將位於下面的組件移到上面。幀布局顧名思義,給加入該布局的組件創建一片空白區域(稱為一幀),每個組件占一幀,所以組件可以疊加在一起。如果給六個相同的組件,組件的面積大小逐漸減少,並且給每個組件一種背景顏色,讓每個組件的背景顏色一直變化,就可以產生霓虹燈效果

五、網格布局 (GridLayout)

  網格布局格式設置整體布局的行數(rowCount)和列數(columnCount),效果就像棋盤一樣,加入其中的控件每個控件占一個格子,當然,網格布局可以設置一個控件同時橫跨幾列(layout_columnSpan)也可以同時橫跨幾行(layout_rowSpan)。也可以指定控件位於第幾行(layout_row)第幾列(layout_column),精準的確定位置

六、表格布局(TableLayout)

  表格布局繼承線性布局,本質是和線性布局差不多的,不需要明確多少行和多少列,直接在表格布局裏添加一個TableRow就是一個行或者列。在線性布局中添加一個表格布局的作用和往線性布局中鑲嵌一個線性布局的作用是相同的。此外表格布局還有兩個xml屬性是線性布局沒有的,shrinkColumns設置組件允許收縮和StrechColumns設置組件允許拉伸。

UI組件:布局管理器