一、线性布局(LinearLayout)
二、相对布局(RelativeLayout)
相对布局有两种形式
1.相对于容器(align对齐)
相对布局(必须要有参照)通常有两种形式: 相对于容器 相对于控件 参考容器位置:(组件在父容器的什么位置)
android:layout_alignParentTop(顶部,上)
android:layout_alignParentBottom(底部,下)
android:layout_alignParentLeft(左边,左)
android:layout_alignParentRight(右边,右)
记忆:对齐(align)父容器(Parent)
案例:相对父容器
2.相对于控件
对齐方式(参考组件的位置)
在某个组件的上下左右(组件在其他组件的什么位置)
android:layout_above(上方,上)
android:layout_below(下方,下)
android:layout_toLeftOf(左边,左)
android:layout_toRightOf(右边,右)
记忆:一定要有参考组件并且需要设置id,左右带to,上下分别是ab。
组件与参考组件的对齐方式:(align)
android:layout_alignTop(顶部对齐)
android:layout_alignBottom(底部对齐)
android:layout_alignLeft(左对齐)
android:layout_alignRight(右对齐)
组件在父容器中的对齐方式:(center)
android:layout_centerHorizontal(水平居中)
android:layout_centerVertical(垂直居中)
android:layout_centerInParent(水平居中且垂直居中)
案例:相对于组件
定义参考组件的位置
相对组件位置
三、绝对布局(AbsoluteLayout)
绝对布局不常用,现在的应用基本要适配所有界面
四、表格布局(TableLayout)
行数由TableRow对象来控制,布局中有多少TableRow对象,就有多少行。
每行只能放几个组件,超过的界面不显示,也不会自动换行,如何处理。
1.设置被隐藏的序号,序号从0开始计数。
android:collapseColumns:设置被隐藏的列的序号,序号从0开始计数。
例如:隐藏列序号为2的组件
2.允许被拉伸
android:stretchColumns:设置允许被拉伸的列的列序号
3.允许被收缩
android:shrinkColumns:设置允许被收缩的列的列序号 前面发现的问题---“每行只能放置几个组件,超出界面部分不会显示,也不会自动换行显示”
设置跨列,表格布局允许设置跨列,但不允许跨行。
五、网格布局(GridLayout)
表格布局不能实现跨行, GridLayout是从Android4.0后新增的布局,它实现了控件的交错显示,能够避免因布局嵌套对设备性能的影响,更利于自由布局的开发。 网格布局用一组无限细的直线将绘图区域分成行、列和单元,并指定控件的显示区域和控件在该区域的显示方式
行数:android:rowCount
列数:android:columnCount
跨列:android:layout_columnSpan
跨行:android:layout_rowSpan
案例:
只需要设置行数和列数,组件会自动排列
GridLayout设置跨行跨列
1、按照3行4列要求,创建12个按钮
2、设置列权重,使得4个按钮,填满一行
3、实现跨行
android:layout_gravity="fill“ 该控件填满所跨越的整行或整列
目录