標籤:布局 android ui
1.線性布局 LinearLayout
常用屬性:
android:gravity 設定子控制項的對齊
android:orientation 相片順序 (分為水平排列和垂直排列)
android:layout_gravity 設定相對於父控制項的對齊
android:layout_weight 子控制項在布局中所佔的權重
!LinearLayout不會換行,所以,如果子控制項超出螢幕範圍,將不會顯示。
2.表格版面配置 TableLayout
繼承自LinearLayout,所以,它的本質依然是線性布局。
表格版面配置並不會明確聲明其包含了多少行、多少列,而是通過添加TableRow、其他組件來控制行和列。
設定一個TableRow,即相當於添加了一個表格行。在其中添加子控制項,即相當於添加一列。
三種行為方式:
android:collapseColumns 需要被隱藏的列序號
android:shrinkColumns 允許被收縮的列的列序號
android:strechColumns 允許被展開的列的列序號
3.幀布局 FrameLayout
為每一個加入其中的組件建立一個空白地區,先建立的組件會置於底層(和棧結構類似)
屬性:
可以使用layout_gravity來設定相對於父布局的對齊‘
樣本:霓虹燈效果
4.相對布局 RelativeLayout
gravity 子組件的對齊
centerHorizontal 水平置中
centerVertical 垂直置中
centerInParent 處於父容器的中間位置
alignParentBottom 是否與版面配置容器底端對齊
alignParentLeft 是否與版面配置容器左端對齊
alignParentRight 是否與版面配置容器右端對齊
alignParentTop 是否與版面配置容器頂端對齊
toRightOf 位於指定ID組件的右端
toLeftOf 位於指定ID組件的左端
above 位於指定ID組件的上方
below 位於指定ID組件的下方
alignTop 與指定ID組件的上邊界對齊
alignBottom 與指定ID組件的下邊界對齊
alignLeft 與指定ID組件的左邊界對齊
alignRight 與指定ID組件的右邊界對齊
5.網格布局 GridLayout
Android4.0之後新增的布局。
屬性:
alignmentMode 對齊模式
columnCount 列數
rowCount 行數
子組件的屬性
layout_column 設定該子組件在第幾列
layout_columnSpan 設定該子組件橫向跨幾列
layout_row 設定該子組件在第幾行
layout_rowSpan 設定該子組件縱向跨幾行
layout_gravity 設定子組件的對齊
代碼動態設定行和列:
1.設定新增組件所在的行
GridLayout.Spec rowSpec = GridLayout.spec(int);
2.設定新增組件所在的列
GridLayout.Spec columnSpec = GridLayout.spec(int);
3.把行和列載入到GridLayout
GridLayout.LayoutParams params = new GridLayout.LayoutParams(rowSpec,columnSpec);
4.指定該組件佔滿父容器
params.setGravity(Gravity,fill);
5.把組件載入到布局中
gridlayout.addView(view,params);
樣本:計算機UI布局
6.絕對布局 AbsoluteLayout
手機螢幕的解析度千差萬別,使用絕對布局很難兼顧不同的螢幕大小。所以,AbsoluteLayout已經過時。
著作權聲明:剛出鍋的原創內容,希望對你有協助~
Android基礎UI篇------六種基本布局