Android中有七大布局,分別是: LinearLayout(線性佈局)、RelativeLayout(相對佈局)、TableLayout(表格佈局) 、FrameLayout(幀佈局)、AbsoluteLayout(絕對佈局)、GridLayout(網格佈局)、ConstraintLayout(約束佈局)
1.LinearLayout(線性佈局)
1.1 orientation設置佈局管理器內組件的排列方式,可以設置爲:horizontal(橫向)、vertical(縱向)
1.2 gravity是針對當前控件裏面內容的擺放,如果是容器,則針對的是容器裏面子view的擺放;如果是控件,則針對的是控件裏面內容的擺放。
1.3 layout_gravity是指當前控件在父控件裏面的擺放位置,不過需要注意的一點是父控件設置的gravity的級別要低於子控件設置的layout_gravity。
屬性值可設爲 top(頂部對齊) 、bottom(底部對齊) 、left(左對齊) 、right(右對齊) 、center_vertical(垂直方向居中) 、 fill_vertical(垂直方向填充) 、 center_horizontal(水平方向居中) 、 fill_horizontal(水平方向填充) 、center(垂直與水平方向都居中) 、 fill (填充)、 clip_vertical(垂直方向裁剪) 、 clip_horizontal(水平方向裁剪)
1.4 layout_weight權重
2.RelativeLayout(相對佈局)
3.TableLayout(表格佈局)
TableLayout包裹TableRow(行數),
TableRow包裹view(列數)。
shrinkColumns屬性:當TableRow裏邊的空間佈滿佈局的時候,指定列自動延伸以填充可用部分。當TableRow裏邊的控件還沒有佈滿佈局時,不起作用。
tretchColumns屬性:設置可伸展的列。該列可以向行方向伸展,最多可佔據一整行。
collapseColumns屬性:設置要隱藏的列。
4.FrameLayout(幀佈局)
android:foreground:設置改幀佈局容器的前景圖像
android:foregroundGravity:設置前景圖像顯示的位置
前景圖像:永遠處於幀佈局最上面,直接面對用戶的圖像,就是不會被覆蓋的圖片。
5.AbsoluteLayout(絕對佈局)
6.GridLayout(網格佈局)
android:layout_width:組件寬度
android:layout_height:組件高度
android:layout_x:設置組件的X座標
android:layout_y:設置組件的Y座標