任何一个布局必须有一个根容器
可以当根容器的组件有5种,每种根容器都有各自的特性
* 线性布局
* 相对布局
* 帧布局
* 绝对布局
* 表格布局
线性布局【LinearLayout】
LinearLayout是一个view组件(view group),其包含的所有子view都以一个方向排列,垂直或是水平方向。我们能够用android:orientation属性来指定布局的方向。
LinearLayout线性布局:
android:layout_width代表宽度
android:layout_height代表高度
三种值可以填写
【不固定值】match_parent 父亲有多少我就有多少
【不固定值】wrap_content 自己内容有多少我就有多少
【固定值】直接的dp值,例如48dp
线性布局的特性
1:android:orientation="vertical" 垂直布局
android:orientation="horizontal" 水平布局
2:android:gravity 孩子布局的对齐方式
例如:android:gravity="center_vertical|top" 其中|代表和的意识,所以孩子方位为:顶部对齐且垂直居中对齐
3:线性布局的孩子具备比重特性
android:layout_weight="" android:layout_weight的值为剩余百分比
相对布局【RelativeLayout】
RelativeLayout相对布局给出各种属性,然后利用属性来布局
相对父亲对齐
- android:layout_alignParentTop=”true”
- android:layout_alignParentLeft=”true”
- android:layout_alignParentRight=”true”
- android:layout_alignParentBottom=”true”
相对其他组件的方位
- android:layout_toLeftOf=”引用ID”
- android:layout_toRightOf=”引用ID”
- android:layout_above=”引用ID”
- android:layout_below=”引用ID”
相对其他组件对齐
- android:layout_alignTop=”引用ID”
- android:layout_alignLeft=”引用ID”
- android:layout_alignRight=”引用ID”
- android:layout_alignBottom=”引用ID”
相对父亲居中
- android:layout_centerVertical=”true”
- android:layout_centerHorizontal=”true”
- android:layout_centerInParent=”true”