首先我们的安卓的页面实际上的组件就是需要一些东西控制住他们
这些东西是什么呢,叫做布局管理器,一开始的开发中有常用的5款布局管理器
下面我来一一介绍其中的功能和一些关键字属性
1.relativelayout
相对布局管理器
属性:android:gravity
android:ignoreGravity
但是对于上面这两个属性是不足够把相对布局管理器的组件进行合理调配的,因为提供了一个内部类
RelativeLayout.LayoutParams,通过这个类提供的XML属性,这些属性是在相对布局管理器的组件上使用的
注意:以下属性需要在子组件上设置,不是在布局管理器上设置,不要搞混
这4个属性是相对于某个组件的ID号进行相对布局
这4个组件是设置组件和父容器对齐位置,属性值是布尔类型
这4个组件是设置与某一个组件的上下左右的边对齐
这三个属性是设置组件在布局管理器中的位置是水平居中,中央居中,垂直居中
2.linearlayout
线性布局管理器(很常用)
属性:
android:orientation="vertical"垂直分布
android:orientation="horizontal"水平分布
android:gravity(居中,居左......)
注意:例如在垂直分布属性中,每一行只能放一个组件,且组件不会进行换行。整个页面被排满后排到窗体边缘后,剩下的组件不会显示出来
子组件属性:
andorid:layout_weight=“1/2/3......”(权重分配)
组件占父空间剩余的比例,按照剩余的空间进行重新分配
3.framelayout
帧布局管理器:
以屏幕左上角为坐标原点进行组件覆盖,通常用于重叠、拖动的效果
属性:
android:foreground(设置前景图像,什么是前景图像,始终位于最上层)=“@图片资源位置”
android:foregroundGravity(设置前景图像位置)="位置常量|right|bottom......"
4.tablelayout
表格布局管理器
属性:
android:collapseColumns="1"(意味着隐藏第二列)
android:collapseColumns="1,2,3"(意味着隐藏第二、三、四列)
android:stretchColumns="1"(意味着第二列允许被拉伸,可以把组件横向拉伸直到该行的组件填满)
因为表格布局管理器不会自动换行,只能跨列
android:shrinkColumns="1"(意味着第二列允许被压缩,适用于某一行的组件超过屏幕横向大小)
需要搭配
在
5.absolutelayout(安卓2.0的时候就标记为已过期,因为适配性太差)
6.gridlayout
网格布局管理器(区别在于更加灵活,内容可跨列或者跨行显示,超出页面的大小会自动换行)
属性:
android:columnCount(指定网格最大列数)
android:orientation(指定排列方式,竖直还是水平)
android:rowCount(指定网格最大行数)
子组件:
GridLayout.LayoutParams
属性:
1.组件位于第几列
2.组件跨几列(这个要搭配4使用)
4.组件的填充拉伸(这个要搭配2和6使用)
5.组件位于第几行
6.组件跨几行(这个要搭配4使用)