本文主要是介绍代码中高度、宽度的单位,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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单位数值
这篇关于代码中高度、宽度的单位的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!