先看一个例子:

int size = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 3,
  context.getResources().getDisplayMetrics());

这行代码是把在当前屏幕分辨率的状态下将dip为3的值转换成单位为px值  

下面是API介绍:

public static float applyDimension (int unit, float value, DisplayMetrics metrics)

Since: API Level 1

Converts an unpacked complex data value holding a dimension to its final floating point value. The two parameters unit and value are as in TYPE_DIMENSION.

Parameters
unit The unit to convert from.
value The value to apply the unit to.
metrics Current display metrics to use in the conversion -- supplies display density and scaling information.
Returns
  • The complex floating point value multiplied by the appropriate metrics depending on its unit.

查看其在framework中的源码

    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;
}

如果传入的unit为COMPLIEX_UNIT_PX,则返回值与传入的value值保持一致;反之会根据一定的计算方式转换成px并返回。

最新文章

  1. SQL Server中的“最大并行度”的配置建议
  2. How Google TestsSoftware - Part Two
  3. C# Socket系列一 简单的创建socket的监听
  4. [Android Pro] Android Support 包里究竟有什么
  5. 数据结构-多级指针单链表(C语言)
  6. Delphi 让自己的软件实现双击打开文件 转
  7. C++中虚函数实现原理揭秘
  8. js参数截取
  9. Samba服务器
  10. 精力(power)
  11. Apache CXF JAX-WS example
  12. 【Android】Eclipse快捷键精选
  13. 1.linux6 x86-64 RPM包安装mysql5.7.20
  14. 界面编程之QT绘图和绘图设备20180728
  15. MySQL使用 IN 查询取出数据排序问题(与in排序相同、不排序)
  16. Java的StringBuIlder扩容机制
  17. Java并发编程原理与实战三十:CountDownLatch与CyclicBarrier 区别
  18. window.onload绑定多个事件 —— 两种解决方案
  19. Web开发利器Webstorm导入多个文件夹或者项目
  20. Maven环境的搭建

热门文章

  1. c++ 成员函数
  2. sqlserver存取过程游标
  3. [原创.数据可视化系列之一]使用openlayers 3 显示聚合数据
  4. js常用正则
  5. 【POJ2699】The Maximum Number of Strong Kings(二分,最大流)
  6. Struts2理解--动态方法和method属性及通配符_默认Action
  7. Memento(备忘录)-对象行为型模式
  8. [原创]Matlab生成随机数
  9. nginx 隐藏版本信息
  10. eclipse删除所有空行