Android布局概览
最后更新于:2022-04-01 14:27:09
### 一、LinearLayout(线性布局)
常用属性:
A. android:orientation="vertical" 或者 android:orientation="horizontal" ——决定子类控件垂直或者水平排布
B. android:gravity = "center_horizontal | bottom" ——决定子类控件的X、Y位置 center:垂直水平都居中right(右)、left(左)、bottom(下面)
center_vertical:垂直(Y轴)居中
center_horizontal:水平(X轴)居中
C. android:layout_gravity="bottom" ——指的是子控件本身在当前父容器的X、Y位置
android:layout_weight="1" ——指的是子控件本身占当前父容器的一个比例(wrap_content正比、match_parent反比)
注意:即使设置了也不一定起作用。比如:水平的LinearLayout要从左边开始依次放置布局,所以设置TextView的layout_gravity属性为right也不起作用。
### 二、RelativeLayout(相对布局)
常用属性:(align 系列、margin系列、center系列)
(1)以下属性是 子类控件 相对于 父类(RelativeLayout)的)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-06_5704cceb27f4f.jpg)
(2)以下属性是 子类控件 相对于 子类控件的
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-06_5704cceb5c442.jpg)
### 三、FrameLayout(帧布局)
在这个布局中,所有的子元素都不能被指定防止的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。
A.使用android:foreground——设置前景图,在所有子图的前面;
B.使用android:background——设置背景
C.使用android:keepScreenOn——保持屏幕唤醒
D.使用android:foregroundGravity——设置前景图的位置
### 四、AbsoluteLayout(绝对布局)
又可以称为坐标布局,可以直接指定子元素的 绝对位置(X、Y)。——由于手机屏幕尺寸差别较大,在屏幕的适配上有缺陷。所以很少用到。
android:layout_x="30dp" ——控制当前子控件的X位置
android:layout_y="29dp" ——控制当前子控件的Y位置
### 五、TableLayout(表格布局)
表格布局模型以行列的形式管理子控件,每一行为一个 TableRow 的对象,当然也可以是一个 View 的对象。索引从 0 开始。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-06_5704cceb90ce9.jpg)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-06_5704ccebbec5f.jpg)