前言
上一节我们主要讲解了linux下的权限说明,今天我们来了解一下Android中的UI设计,聊聊android中常用的布局。
android中的布局主要有六种,分别是线性布局(LinearLayout),相对布局(Relativelayout),帧布局(FrameLayout),网格布局(GridLayout)以及绝对布局(AbsoluteLayout)和表格布局(TableLayout),在这六种布局中,我们比较常用的就是线性布局和相对布局以及帧布局,所以在布局方面,我打算主要围绕这三个布局去展开,其他的布局我就不一一概述了,因为用的实在是太少了。以后去面试android基础工程师,你只需要知道andriod中的布局有六种,以及是哪六种就够了。面试官不会去深入问你是否知道AbsoluteLayout布局如何使用等等问题。
对每一个android开发者来说,屏幕适配都是一个很令人头疼的问题,由于市面上的android机型太多,各式各样屏幕分辨率的android手机数不胜数,尤其是还有很多比较奇葩的设备,所以我们也只能做到对大多数屏幕适配,还有少数的设备市场占有量不大,就直接忽略了。既然是做屏幕适配,自然是需要在布局上下功夫,而我们在做适配的时候用到的最多的就是线性布局中的权重属性(weight)了。在这一节中,我将会详细的解析LinearLayout,包括一些基本的属性。
布局中的属性很多,如果要我们全都掌握的话,可能有点不太现实,基本上很少有人去记布局的全部属性,常用的属性就那几个,我们也只讲那些比较常用的属性。基本上这个布局的一部分属性你掌握了,其他的属性,你自己都可以猜出来的。
布局的属性分类
线性布局常用的属性如下:
1. layout_width (控件和布局必不可少的属性)
1. 布局的宽度:两种可选值
1. match_parent 填充父窗体(fill_parent: 这个属性也是填充父窗体的,只是早已经被废弃掉了,不推荐使用)
2. wrap_content 包裹内容
3. 自定义宽度。比如我定义高度为20dp(宽度高度的度量单位是dp, 字体的度量单位是spÿ