代码中高度、宽度的单位

来源:互联网 发布:新的邮政软件 编辑:程序博客网 时间:2024/06/10 20:09

java代码中数字的单位是像素(px)

在java代码中引用dimen文件中的值:

  • getDimension()是基于当前DisplayMetrics进行转换,获取指定资源id对应的尺寸。文档里并没说这里返回的就是像素,要注意这个函数的返回值是float,像素肯定是int。
  • getDimensionPixelSize()与getDimension()功能类似,不同的是将结果转换为int,并且小数部分四舍五入。
  • getDimensionPixelOffset()与getDimension()功能类似,不同的是将结果转换为int,并且偏移转换(offset conversion,函数命名中的offset是这个意思)是直接截断小数位,即取整(其实就是把float强制转化为int,注意不是四舍五入哦)。

由此可见,这三个函数返回的都是绝对尺寸,而不是相对尺寸(dp\sp等)。如果getDimension()返回结果是20.5f,那么getDimensionPixelSize()返回结果就是21,getDimensionPixelOffset()返回结果就是20。

例子:getResources().getDimensionPixelSize(R.dimen.px32);

说明:其中获取到的是像素值,即使在文件中定义的时候加dp单位,结果也会转成px单位数值




阅读全文
0 0
原创粉丝点击