1>getDimension和getDimensionPixelOffset的功能类似,都是获取某个dimen的值,但是如果单位是dp或sp,则要将其乘以density ;如果是px,则不乘。两者的不同点是:getDimension返回float,getDimensionPixelOffset返回int.

2>getDimensionPixelSize则不管写的是dp还是sp还是px,都会乘以denstiy.

<resources><dimen name="dp_01">16dp</dimen><dimen name="px_01">16px</dimen><dimen name="sp_01">16sp</dimen>
</resources>
    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);  
//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  

getDimension,getDimensionPixelOffset和getDimensionPixelSize的一点说明相关推荐

  1. 自定义View获取dimen值得三个方法:getDimension,getDimensionPixelOffset和getDimensionPixelSize

    getDimension和getDimensionPixelOffset的功能类似, 都是获取某个dimen的值,但是如果单位是dp或sp,则需要将其乘以density 如果是px,则不乘.并且get ...

  2. getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()区别详解

    getDimension()是基于当前DisplayMetrics进行转换,获取指定资源id对应的尺寸.文档里并没说这里返回的就是像素,要注意这个函数的返回值是float,像素肯定是int. getD ...

  3. getDimension/getDimensionPixelSize/getDimensionPixelOffset()

    今天写代码的时候,需要从资源文件中读取一个长度值,用来设置控件的宽高,误以为getDimension()返回的就是资源里定义的dp值,后来发现不是我理解的那样.下面介绍一下getDimension() ...

  4. getDimension等区别

    2019独角兽企业重金招聘Python工程师标准>>> getDimension,getDimensionPixelOffset,getDimensionPixelSize这个三个方 ...

  5. 【转】Android中dp,px,sp概念梳理以及如何做到屏幕适配

    2019独角兽企业重金招聘Python工程师标准>>> 首先来看一下他们的基本概念: px   :是屏幕的像素点 dp   :一个基于density的抽象单位,如果一个160dpi的 ...

  6. [转]Android中dp,px,sp概念梳理以及如何做到屏幕适配

    http://blog.csdn.net/jiangwei0910410003/article/details/40509571 今天又开始我的App开发,因为之前一直做的是SDK,所以涉及到界面UI ...

  7. android自定义属性dimen,android代码里的dimen

    在自定义控件中使用自定义属性时,经常需要使用java代码获取在xml中定义的尺寸,相关有以下三个函数 getDimension() getDimensionPixelOffset() getDimen ...

  8. Android屏幕密度的深刻理解

    context.getResources().getDisplayMetrics() Android中有一个类:DisplayMetrics,官方文档在此:https://developer.andr ...

  9. 含泪讲述拿到美团offer的心酸历程......

    本人双非毕业,非科班出身,做安卓开发,在小公司打杂三年后,意外地拿到了美团的offer,成功跳槽到了美团外卖事业部. 我这几年经历了什么? 3年前,我末流本科毕业,进了编程培训班,从培训班出来之后,我 ...

最新文章

  1. LAMP中apache的配置步骤
  2. python下载网络错误_下载失败,出现“网络错误”+40000
  3. 第三十九期:收藏 | 第一次有人把“分布式事务”讲的这么简单明了
  4. HDU 1711 Number Sequence(KMP模板)
  5. vuex commit 传参数,传递多个参数
  6. 产品壁垒_打破人员,流程和产品之间的壁垒
  7. java socket client_java socket client
  8. php socket 小程序,实例详解微信小程序如何使用Socket
  9. Delaunay三角化实现原理
  10. java的int和Integer的区别
  11. 深入理解viewport及相关属性的关系
  12. MT2503芯片平台方案开发项目资料介绍
  13. Linux下安装vim命令
  14. oracle gis费用,MapGIS 10 for Desktop 标准版_Oracle
  15. 学习html+css+js笔记
  16. 程序人生 - 错过等一年!杭州人独属的惠民福利,还有最后三天
  17. 知道这些网站,能让你的工作效率提高2000%!
  18. 通过Python爬取必应壁纸,学XPath
  19. python怎么画长方形_画一个漂亮的长方形
  20. 使用Arduino连接一个LCD显示屏

热门文章

  1. Solr 6.7学习笔记(04)-- Suggest
  2. 【转载】Gradle学习 第一章:引言
  3. LeetCode--Factorial Trailing Zeroes(注意)
  4. 让ie6(opera)支持微软雅黑字体
  5. Scrapy 框架入门
  6. CF628D Magic Numbers (数据大+数位dp)求[a,b]中,偶数位的数字都是d,其余为数字都不是d,且能被m整除的数的个数...
  7. winform app.cpnfig 文件的引用
  8. JSON.stringify() / JSON.parse()
  9. Mybatis接口注解开发
  10. Effective C++ 条款44