Android开发之UI编程(二) | 青训营笔记

144 阅读2分钟

这是我参与「第四届青训营」笔记创作活动的第4天。

布局

在Android程序中界面是通过布局文件设定的,在每个应用程序创建会默认包含一个主界面布局,该布局位于res/layout目录中。实际开发中每个应用程序都包含多个界面,而程序默认提供的一个主界面布局无法满足需求,因此经常会在程序中添加多个布局。
在Android中有两种方式创建布局:一种是在项目中的layout文件夹中写XML,将各个布局写在XML中;一种是在程序中通过代码去编写,这种方式一般用得比较少。

布局常用单位

px:像素,即在屏幕中可以显示最小元素单位。
pt: 磅数,一磅等于1/72英寸,一般pt作为字体的单位来显示。
dp(与密度无关的像素,dp与dip相同): 基于屏幕密度的抽象单位。不同设备具有不同的显示效果,根据分辨率的不同来去顶控件的尺寸。
sp: 可伸缩像素,采用与dp相同的设计理念,推荐设置文字大小时使用。

常用布局

线性布局(LinearLayout)

线性布局就是将一些控件排放在一条线上,但是有水平方向和垂直方向两种。水平和垂直方向的控制由属性android:orientation来控制,这个属性有两个值:垂直(Vertical)和水平(Horizaontal),在线性布局中还有一些比较常用的属性,如:android:gravity、android:weight(控件的权值)等。

相对布局(RelativelLayout)

线对布局是指按照控件间的相对位置进行布局,也就是说我们可以选一个控件作为参照,其他的控件可以在它的上边、下边、左边及右边等。

帧布局(FrameLayout)

在帧布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素上,将前面的子元素部分和全部遮挡。

约束布局(ConstraintLayout)

约束布局类似于相对布局,是目前Android的几大布局中功能最强大的布局。约束布局几乎能实现其他布局所有的功能,能减少布局层次的嵌套,有性能的优势可视化操作的增强,大部分界面用ConstraintLayout都能通过可视化编辑区域完成。