reference to  : http://blog.csdn.net/voo00oov/article/details/45745819

这个方法的作用是 把Android系统中的非标准度量尺寸转变为标准度量尺寸 (Android系统中的标准尺寸是px, 即像素)

Android系统中的尺寸单位有:

这个方法的作用是 把Android系统中的非标准度量尺寸转变为标准度量尺寸 (Android系统中的标准尺寸是px, 即像素)

Android系统中的尺寸单位有:

标准单位: px (px是安卓系统内部使用的单位, dp是与设备无关的尺寸单位 )

非标准单位: dp, in, mm, pt, sp

TypedValue.applyDimension()方法的功能就是把非标准尺寸转换成标准尺寸, 如:

dp->px:  TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, context.getResources().getDisplayMetrics());

in->px: TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_IN, 20, context.getResources().getDisplayMetrics());

mm->px: TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_MM, 20, context.getResources().getDisplayMetrics());

pt->px: TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PT, 20, context.getResources().getDisplayMetrics());

sp->px: TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 20, context.getResources().getDisplayMetrics());

如果你还是不太理解, 请看applyDimension()方法的源码:

/*** Converts an unpacked complex data value holding a dimension to its final floating * point value. The two parameters <var>unit</var> and <var>value</var>* are as in {@link #TYPE_DIMENSION}.*  * @param unit The unit to convert from.* @param value The value to apply the unit to.* @param metrics Current display metrics to use in the conversion -- *                supplies display density and scaling information.* * @return The complex floating point value multiplied by the appropriate * metrics depending on its unit. */
public static float applyDimension(int unit, float value,DisplayMetrics metrics)
{switch (unit) {case COMPLEX_UNIT_PX:return value;case COMPLEX_UNIT_DIP:return value * metrics.density;case COMPLEX_UNIT_SP:return value * metrics.scaledDensity;case COMPLEX_UNIT_PT:return value * metrics.xdpi * (1.0f/72);case COMPLEX_UNIT_IN:return value * metrics.xdpi;case COMPLEX_UNIT_MM:return value * metrics.xdpi * (1.0f/25.4f);}return 0;
}

[Android Pro] Android TypedValue.applyDimension()的用法相关推荐

  1. [Android Pro] Android 6.0 Root

    reference : http://bbs.gfan.com/android-8001827-1-1.html 2. 刷机和刷入recovery 建议参考 置顶教程: [15年3月31日更新]Nex ...

  2. [Android Pro] Android保存图片到系统图库

    http://stormzhang.github.io/android/2014/07/24/android-save-image-to-gallery/ http://blog.csdn.net/x ...

  3. [Android Pro] Android 6.0 Root

    reference : http://bbs.gfan.com/android-8001827-1-1.html 2. 刷机和刷入recovery 建议参考 置顶教程: [15年3月31日更新]Nex ...

  4. [Android Pro] Android源码编译之Nexus5真机编译

    reference to : http://blog.csdn.net/liu1075538266/article/details/51272398 1.   前言 在Android安全的研究工作中, ...

  5. [Android Pro] Android下toolbox简介

    toolbox是Android 自带的提供shell命令的软件.有点类似于busybox,但功能上好像弱很多. 其源码可以从Android source code 中system/core/toolb ...

  6. [Android Pro] Android源码编译后,再重编译所需要做的清理工作

    1.在源码目录的根目录下,make clean; 2.进到源码的\linux\kernel\目录下,执行make mrproper: 3.再退回到根目录,执行source  build/envsetu ...

  7. [Android Pro] 有关Broadcast作为内部类时注册的一些问题

    很经常Broadcast都会写成一个Activity或者Service的内部类.这时候的注册和普通有点小区别. 有两种情况 1.假如是再Manifest文件里面静态注册的话,需要注意. ex: < ...

  8. [Android Pro] 精确记录和恢复ListView滑动位置

    reference to : http://blog.csdn.net/welovesunflower/article/details/7926512 工作中遇到一个需求,对ListView某一项操作 ...

  9. [Android Pro] ScrollView使用fillViewport设置高度为MatchParent

    reference to : http://blog.csdn.net/u012975705/article/details/49275001 之前遇到一问题,就是当使用ScrollView时,Scr ...

最新文章

  1. html怎么转换undefined,JavaScript之Undefined详解
  2. u-boot2013.01.01 for s5pv210: u-boot启动流程
  3. scratch desktop的基本使用 - 如何使用积木
  4. 编译hotspot_从Hotspot JIT编译器打印生成的汇编代码
  5. medoo update mysql_Medoo Update的使用:修改更新数据
  6. 【限时免费】云计算时代的安全和智能运维(11月18日周六|广州)
  7. 计算机实验云平台,浅析基于云平台的计算机实验教学中心建设
  8. java ee jaas_Java Web系列:JAAS认证和授权基础
  9. 图像处理——空间域和频率域部分图像增强学习
  10. cad(2000坐标系)转kml
  11. 星空投影夜灯-隐私政策协议
  12. COLA 4.0应用架构在CSB集成平台的应用实践
  13. AB PLC 1769模拟量模块量程转换
  14. web安全攻防渗透+赵雨佳43
  15. PC端自适应-rem
  16. 双层pdf-不用手动添加目录超链接教程
  17. JAVA:日期时间范围查询0点到23点59分59秒之间
  18. QMC5883L说明文档
  19. hdu-4745 Two Rabbits
  20. 三国群英传霸业之王服务器维护,20190723维护公告

热门文章

  1. SecureCRT8.3+SecureCRT_keygen完成注册
  2. 酷我音乐盒和千千静听
  3. 天津理工大学 信息论与编码实验3 离散信源编码-香农编码
  4. fastai机器学习课程-甲骨文 ORADC-AIG学习公开课(Lesson3)
  5. 数据预处理Part4——数据离散化
  6. java队列长度_Java实现固定长度队列
  7. halcon,分享一个想法,数米粒个数
  8. .net日期控件使用
  9. Linux上基于 Golang 实现 KeyLogger 按键记录
  10. 大数据︱中国城市谁在腾飞?谁又在衰落?