线性布局
线性布局的优点在于快速对齐子控件和调整各个子控件在对齐方向上的比例,常作为子布局以实现整体布局的局部对齐,也是常用布局中唯一能控制子控件比例的布局。
缺点:整体性较差,只能控制一个维度上的控件布局
布局控件属性
android:orientation="vertical" <!--纵向罗列子控件-->
android:orientation="horizontal" <!--横向罗列子控件-->
子控件属性
<!--使用weight的前提是在对齐方向上大小为match_parent/0-->
android:layout_weight="5" <!--在对齐方向上的比重-->
android:layout_gravity="center" <!--对齐方式-->
<!--取值:top,bottom,center-->
相对布局
优势:整体性比较强,能够最大程度地兼容不同尺寸,且布局方式与web的盒子模型以及javaswing的borderLayout有较多的相识之处。
劣势:无法比例调整控件大小
android:layout_above=“@id/xxx” | 将控件的下边缘和给定 ID 控件的上边缘对齐(贴合居上) |
---|---|
android:layout_below=“@id/xxx” | 将控件的上边缘和给定 ID 控件的下边缘对齐(贴合居下) |
android:layout_toStartOf=“@id/xxx” | 将控件的右边缘和给定 ID 控件的左边缘对齐(贴合居左) |
android:layout_toEndOf=“@id/xxx” | 将控件的左边缘和给定 ID 控件的右边缘对齐(贴合居右) |
android:layout_alignBaseline=“@id/xxx” | 将控件的 baseline 与给定 ID 的 baseline 对齐(统一对齐) |
android:layout_alignTop=“@id/xxx” | 将控件的上边缘和给定 ID 控件的上边缘对齐 |
android:layout_alignBottom=“@id/xxx” | 将控件的底边缘和给定 ID 控件的底边缘对齐 |
android:layout_alignLeft=“@id/xxx” | 将控件的左边缘和给定 ID 控件的左边缘对齐 |
android:layout_alignRight=“@id/xxx” | 将控件的右边缘和给定 ID 控件的右边缘对齐 |
android:layout_alignParentStart=“true” | 将控件的左边缘和父控件的左边缘对齐 |
android:layout_alignParentTop=“true” | 将控件的上边缘和父控件的上边缘对齐 |
android:layout_alignParentEnd=“true” | 将控件的右边缘和父控件的右边缘对齐 |
android:layout_alignParentBottom=“true” | 将控件的底边缘和父控件的底边缘对齐 |
android:layout_centerInParent=“true” | 将控件置于父控件的中心位置 |
android:layout_centerHorizontal=“true” | 将控件置于水平方向的中心位置 |
android:layout_centerVertical=“true” | 将控件置于垂直方向的中心位置 |