LinearLayout 线型布局
android:orientation(方向)=“vertical”(垂直)或“horizontal”(水平)
android:gravity(重力)=“center”
center_vertical 垂直(Y轴)居中
center_horizontal 水平(X轴)居中
center 全部居中
right 子类控件位于当前布局的右边
left 子类控件位于当前布局的左边
bottom ····下面
线型布局中如果设置match_parent后再设置权重会反比例占用
layout_gravity调整该布局相对父布局的位置(仅针对LinearLayout使用)
gravity是调整该布局中子布局的位置
RelativeLayout 相对布局
子布局有gravity属性,没有layout_gravity属性
android:layout_alignParentLeft="true"在父类容器靠左
android:layout_marginLeft="36dp"距离父类左边距离
android:layout_centerInParent="true"在父类中居中显示
android:layout_centerHorizontal="true"在父类中水平居中
android:layout_below="@id/view" 在view的下方
android:layout_above="@id/view" 在上方
android:layout_toLeftOf="@id/view" 在左边
android:layout_alignBaseline="@id/view"本身与view内容对齐
android:layout_alignBottom="@id/view" 与view底部对齐
FrameLayout 帧布局
在这个布局中,所有的子元素都不能被指定放置的位置,他们统统放在区域的左上角,并且后面的子元素会直接覆盖前面的子元素。
也没有gravity属性,但子类有layout_gravity属性。
设置前景图,在所有子视图的前面
android:foreground
设置背景
android:background
保持屏幕唤醒
android:keepScreenOn
设置前景图的位置
android:foregroundGravity
AbsoluteLayout 绝对布局
又称坐标布局,可以直接指定子元素的绝对位置(XY)
设备屏幕尺寸不同造成适应性差。
以左上角为起点设置位置:
android:layout_x="35dp"控制子类X位置
android:layout_x="35dp" Y位置
TableLayout 表格布局
以行列的形式管理子空间,每一行为一个TableRow对象,也可以是一个View
全局属性:
android:collapseColumns=“1,2”
隐藏从0开始的索引列。列用逗号隔开:1,2,5
android:shrinkClumns=“1,2”
收缩从0开始的索引列。当可收缩的列太宽(内容太多)不会被挤出屏幕,列之间必须用逗号隔开:1,2,5 可以通过 * 代替收缩所有列。一列能同时表示收缩和拉伸。
android:stretchClumns=“1,2”
拉伸从0开始的索引列,以填满剩余的空白空间。列用逗号隔开,可以用*代替拉伸所有
局部属性(内部空间所用的属性):
android:layout_column="1" 该空间显示在第二列
android:layout_span="2" 该控件占据2列