赞
踩
属性名称 | 功能描述 | |
android:id | 设置布局的标识 | |
android:layout_width | 设置布局的宽度 | |
android:layout_height | 设置布局的高度 | |
android:background | 设置布局的背景 | |
android:layout_margin | 设置当前布局与屏幕边界或与周围控件的距离 | |
android:padding | 设置当前布局与该布局中控件的距离 |
主要以水平或垂直方式来排列界面中的控件。并将控件排列到一条直线上。在线性布局中,如果水平排列,垂直方向上只能放一个控件,如果垂直排列,水平方向上也只能放一个控件。
Android开发中最常见的 ⼀种布局⽅式,排列方式只有水平排列和垂直排列两种,orientation 设置为 horizontal 为水平排列, 设置为 vertical为垂直排列,默认水平排列。
在设计复杂页面时要嵌套过多的层级,降低页面加载速度
用于设置当前布局的唯一标识。在XML文件中它的属性值是通过“@+id/属性名称”定义的。为布局指定android:id 属性后,在R.java文件中,会自动生成对应的int值。在Java代码中通过为findViewById()方法传入该int值来获取该布局对象。
在线性布局中,控件排列有水平和垂直两个方向,控件排列方向由android:orientation属性来控制,该属性需要加在LinearLayout标记的属性中。
线性布局的控件默认是从左往右排列或从上往下排列,如果想让线性布局中的控件排列对齐右边缘或者底部,可以用gravity属性控制。
LinearLayout中另外一个常用的属性是layout_weight,该属性需要加在LinearLayout的子控件中。其作用是分配线性布局中的剩余空间到该控件上。
用于设置布局的宽度,其值可以是具体的尺寸,如50dp
用于设置布局的高度,其值可以是具体的尺寸,如50dp
用于设置布局背景,其值可以引用图片资源,也可以是颜色资源
用于设置当前布局与屏幕边界、周围布局或控件的距离。属性值为具体的尺寸,如50dp。
与之相似的还有android:layout_marginTop、android:layout_marginBottom、android:layout_marginLeft、android:layout_marginRight属性,分别用于设置当前布局与屏幕、周围布局或者控件的上下左右边界的距离。
用于设置当前布局内控件与该布局的距离,其值可以是具体的尺寸,如50dp。与之相似的还有android:paddingTop、android:paddingBottom、android:paddingLeft、android:paddingRight属性,分别用于设置当前布局中控件与该布局上下左右的距离。
需要注意的是,Android系统提供的五种常用布局必须设置android:layout_width和android:layout_height属性指定其宽高,其他的属性可以根据需求进行设置。
最纯净的布局。在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。
在开发中常做容器使⽤,⽤于动态添加布局对象,⽐如浏览单张图⽚这类的、实现时钟等,秒针覆盖时针和分针。
优点:高效,占用内存相对来说也是较小的
缺点:简单
FrameLayout布局的属性有android:foreground和android:foregroundGravity。android:foreground属性:属性值为图片资源,用于设置前景图片,意思是此图片是位于所有组件之上,不管添加顺序。
android:foregroundGravity属性:用于设置前景图片在布局中的位置,属性值与android:gravity一样。如果不设置此属性,则前景图片不管有多小都默认充满整个布局,如果设置了,就在相应位置以图片实际大小显示。
以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列。当为View时,该View将独占一行。
适⽤于多⾏多列的表格形式。
父属性设置拉伸和隐藏列
子属性设置在第几列显示 和横跨几列
GridLayout布局是Android4.0以后引入的新布局,和TableLayout(表格布局)有点类似,不过它功能更多,也更灵活(TableLayout不能对行进行合并,只能对列进行合并), 可以自定义网格布局有多少行,多少列 可以直接设置组件位于某行某列 可以设置组件横跨几行或者几列。
以某⼀个⼦元素为参照物,其余⼦元素均按照其相对位置来完成布局。
适⽤场景:其属性很好的弥补了LinearLayout的缺点,该布局是⽬前最推荐的⼀种布局⽅式
例如在修改了某⼀个控件的属性时,其他依赖于该控件的其他控件可能都需要修改其属性。
采用坐标轴的方式定位组件,左上角是(0,0)点,往右x轴递增,往下Y轴递增,组件定位属性为android:layout_x和 android:layout_y来确定坐标。
准确定位空间位置
Android手机的屏幕尺寸、分辨率存在较大差异,使用AbsoluteLayout无法兼顾适配问题,所以该布局已经过时。
主要是为了解决布局嵌套过多的问题,以灵活的方式定位和调整控件,利用元素属性很方便的自适应布局,从 Android Studio 2.3 起,官方的模板默认使用 ConstraintLayout。
ConstraintLayout布局中的子控件需要约束关系,控件的相互依赖,这有点像相对布局 ,但是约束布局的功能更加强大,它很方便的在编辑器上进行添加删除控件,并设置属性值,简化操作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。