首页 > 代码库 > getDimension,getDimensionPixelOffset和getDimensionPixelSize的一点说明
getDimension,getDimensionPixelOffset和getDimensionPixelSize的一点说明
getDimension和getDimensionPixelOffset的功能类似,
都是获取某个dimen的值,但是如果单位是dp或sp,则需要将其乘以density
如果是px,则不乘。并且getDimension返回float,getDimensionPixelOffset返回int.
而getDimensionPixelSize则不管写的是dp还是sp还是px,都会乘以denstiy.
代码如下:
[html] view plaincopy
- <resources>
- <dimen name="dp_01">16dp</dimen>
- <dimen name="px_01">16px</dimen>
- <dimen name="sp_01">16sp</dimen>
- </resources>
[java] view plaincopy
- float a1=getResources().getDimension(R.dimen.dp_01);
- int a2=getResources().getDimensionPixelOffset(R.dimen.dp_01);
- int a3=getResources().getDimensionPixelSize(R.dimen.dp_01);
- float b1=getResources().getDimension(R.dimen.px_01);
- int b2=getResources().getDimensionPixelOffset(R.dimen.px_01);
- int b3=getResources().getDimensionPixelSize(R.dimen.px_01);
- float c1=getResources().getDimension(R.dimen.sp_01);
- int c2=getResources().getDimensionPixelOffset(R.dimen.sp_01);
- int c3=getResources().getDimensionPixelSize(R.dimen.sp_01);
- Log.d("test", "getDimension= "+a1+", getDimensionPixelOffset="+a2+",getDimensionPixelSize="+a3);
- Log.d("test", "getDimension= "+b1+", getDimensionPixelOffset="+b2+",getDimensionPixelSize="+b3);
- Log.d("test", "getDimension= "+c1+", getDimensionPixelOffset="+c2+",getDimensionPixelSize="+c3);
LogCat中查看输出结果:
[java] view plaincopy
- //Device (480*800,240dpi,density=1.5):
- getDimension= 24.0, getDimensionPixelOffset=24,getDimensionPixelSize=24
- getDimension= 16.0, getDimensionPixelOffset=16,getDimensionPixelSize=24
- getDimension= 24.0, getDimensionPixelOffset=24,getDimensionPixelSize=24
摘自:http://blog.csdn.net/cnmilan/article/details/38339109
getDimension,getDimensionPixelOffset和getDimensionPixelSize的一点说明
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。