Android UI 基础知识之布局的声明和结构等( 二 )


XML标记内部的ID语法是:
字符串开头处的@符号指示XML解析器应解析并展开ID字符串的其余部分 , 并将其标识为ID资源 。
加号(+)表示这是一个新的资源名称 , 必须创建该名称并将其添加到我们的资源(在R.java文件中)内 。
Android框架还提供许多其他ID资源 。 引用Android资源ID时 , 不需要加号 , 但必须添加android软件包命名空间
添加android软件包命名空间后 , 我们现在将从android.R资源类而非本地资源类引用ID
R.java文件
Android UI 基础知识之布局的声明和结构等

tips:@+id和@id区别:
其实@+id就是在R.java文件里新增一个id名称 , 如果之前已经存在相同的id名称 , 那么会覆盖之前的名称 。 而@id则是直接引用R.java文件的存在的id资源 , 如果不存在 , 会编译报错 。
注意:ID字符串名称 , 在同一布局中必须是唯一的 , 不能重名 , 不同布局中可以同名;
通过ID值创建我们视图对象的实例
(七)布局参数LayoutParams
layout_***的布局属性
布局参数作用是给我们的视图设定在布局中位置和大小
ViewGroup类会实现一个扩展ViewGroup.LayoutParams的嵌套类 , 里面包含一些设置视图view的尺寸和位置的属性 。
视图层次结构图 , 包含每个视图关联的布局参数:
Android UI 基础知识之布局的声明和结构等

一般而言 , 建议不要使用绝对单位(如像素)来指定布局宽度和高度 。 更好的方法是使用相对测量单位(如与密度无关的像素单位(dp)、wrap_content或match_parent) , 因为其有助于确保您的应用在各类尺寸的设备屏幕上正确显示 。
、wrap_content指示您的视图将其大小调整为内容所需的尺寸 。
、match_parent指示您的视图尽可能采用其父视图组所允许的最大尺寸 。
(八)布局位置
视图可以通过调用getLeft方法和getTop方法来获取视图的坐标位置 , 也可以通过getWidth和getHeight获取视图的尺寸 , 这些方法返回的值是相对于其父视图的位置 。
位置和尺寸的单位是像素(px)
px与dp区别
、px即像素 , 1px代表屏幕上一个物理的像素点;
给视图设置px单位 , 不同分辨率下 , 尺寸不一样
、dp(dip)Densityindependentpixels , 设备无关像素 。 它与“像素密度”密切相关;
dpi像素密度:每英寸包含的像素数
假设有一部手机 , 屏幕的物理尺寸为1.5英寸x2英寸 , 屏幕分辨率为240x320 , 则我们可以计算出在这部手机的屏幕上 , 每英寸包含的像素点的数量为240/1.5=160dpi(横向)或320/2=160dpi(纵向) , 160dpi就是这部手机的像素密度 , 像素密度的单位dpi是DotsPerInch的缩写 , 即每英寸像素数量.
Android UI 基础知识之布局的声明和结构等

Android UI 基础知识之布局的声明和结构等

(九)内边距和外边距
Android UI 基础知识之布局的声明和结构等

Android UI 基础知识之布局的声明和结构等

【Android UI 基础知识之布局的声明和结构等】END