为了适应不同的界面风格,Android系统提供了五种常用布局,分别未RelativeLayout(相对布局)、FrameLayout(帧布局布局)、TableLayout(表格布局)、ConstraintLayout(约束布局)。
1、布局的通用属性
Android系统的五种常用布局直接或者间接继承自ViewGroup,因此五种常用的布局也支持再ViewGroup中定义的属性,这些属性可以看作布局的通用属性。
属性名称 | 功能描述 |
---|---|
android:id | 设置布局的标识 |
android:layout_width | 设置布局的宽度 |
android:layout_height | 设置布局的高度 |
android:layout_background | 设置布局的背景 |
android:margin | 设置当前布局与屏幕边界或与周围控件的距离 |
android:padding | 设置当前布局与该布局中的控件的距离 |
1.1接下来,针对表2-1中的属性进行详细讲解,具体如下:
- android:id
用于设置当前布局的唯一标识。在XML文件中它的属性值是通过“@+id/属性名称”定义的。为布局指定android:id属性后,在R.java文件中,会自动生成对应的int值。在Java代码中通过未findViewById()方法传入该int值来获取该布局对象。
- android:layout_width
用于设置布局的宽度,其值可以是具体的尺寸,如30dp,也可以是系统定义的值,具体如下:
(1)fill_parent:表示该布局的宽度与父容器(从根元素讲是屏幕)的宽度相同。
(2)match_parent:与fill_parent的作用相同,从Android2.2开始推荐使用match_parent。
(3)wrap_content:表示该布局的宽度恰好能包裹它的内容。
- android:layout_height
用于设置布局的高度,其值可以是具体的尺寸,如50dp, 也可以是系统定义的值,具体如下:
(1) fill_parent: 表示该布局的高度与父容器的高度相同。
(2) match_parent: 与fill_parent的作用相同,从Android 2. 2开始推荐使用match_parent.
(3) wrap_content: 表示该布局的高度恰好能包裹它的内容。
- android:background
用于设置布局背景,其值可以引用图片资源,也可以是颜色资源。
- android:layout_margin
用于设置当前布局与屏幕边界、周围布局或控件的距离。属性值为具体的尺寸,如45dp. 与之相似的还有android:layout_margin Top、android:layout_marginBottom、android:layout_marginLeft.
android:layout_marginRight属性,分别用于设置当前布局与屏幕、周围布局或者控件的上、下、左、右边界的距离。
- android:padding
用于设置当前布局内控件与该布局的距离,其值可以是具体的尺寸,如45dp. 与之相似的还有android:paddingTop,android:paddingBottom、android:paddingLeft,android:paddingRight相关属性,分别用于设置当前布局中控件与该布局上、下、左、右的距离。
需要注意的是。Android系统提供的五种常用布局必须设置android:layout_width 和android:
layout_height属性指定其宽高,其他的属性可以根据需求进行设置。
2.RelatitveLayout(相对布局)
RelatitveLayout(相对布局)通过相对定位的方式指定子控件的位置。在XML布局文件中定义相对布局时使用标签,定义