Android UI 基础知识之布局的声明和结构等( 二 )
XML标记内部的ID语法是:
字符串开头处的@符号指示XML解析器应解析并展开ID字符串的其余部分 , 并将其标识为ID资源 。
加号(+)表示这是一个新的资源名称 , 必须创建该名称并将其添加到我们的资源(在R.java文件中)内 。
Android框架还提供许多其他ID资源 。 引用Android资源ID时 , 不需要加号 , 但必须添加android软件包命名空间
添加android软件包命名空间后 , 我们现在将从android.R资源类而非本地资源类引用ID
R.java文件
tips:@+id和@id区别:
其实@+id就是在R.java文件里新增一个id名称 , 如果之前已经存在相同的id名称 , 那么会覆盖之前的名称 。 而@id则是直接引用R.java文件的存在的id资源 , 如果不存在 , 会编译报错 。
注意:ID字符串名称 , 在同一布局中必须是唯一的 , 不能重名 , 不同布局中可以同名;
通过ID值创建我们视图对象的实例
(七)布局参数LayoutParams
layout_***的布局属性
布局参数作用是给我们的视图设定在布局中位置和大小
ViewGroup类会实现一个扩展ViewGroup.LayoutParams的嵌套类 , 里面包含一些设置视图view的尺寸和位置的属性 。
视图层次结构图 , 包含每个视图关联的布局参数:
一般而言 , 建议不要使用绝对单位(如像素)来指定布局宽度和高度 。 更好的方法是使用相对测量单位(如与密度无关的像素单位(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 基础知识之布局的声明和结构等】END
- One|基于Android 13打造:三星Galaxy S22抢先用上One UI 5.0
- 炸锅|酷暑之下,莫让这些谣言再增“热”度
- 安全测试之渗透测试
- Flyme|“国产系统之光”Flyme迎来十周年,纪念海报上线引发热议
- 新发现恐龙可能在灾难性的太空岩石撞击地球之前就已经灭绝了
- 为何人类所到之处,地球会“寸草不生”?这符合进化论的原理吗?
- 联发科天玑9000+之王浮出水面,极有可能又是vivo
- 水洞中发现玛雅人残骸,可能并没有消失,或揭开玛雅消失之谜!
- 马云|马云自己\打脸\之前所说的,如今现身西班牙,开12亿游艇!
- 中兴|使用中兴Axon40UItra之后,明白屏幕完美,却在市场上遇冷的原因
