[Android Pro] Android TypedValue.applyDimension()的用法
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()的用法相关推荐
- [Android Pro] Android 6.0 Root
reference : http://bbs.gfan.com/android-8001827-1-1.html 2. 刷机和刷入recovery 建议参考 置顶教程: [15年3月31日更新]Nex ...
- [Android Pro] Android保存图片到系统图库
http://stormzhang.github.io/android/2014/07/24/android-save-image-to-gallery/ http://blog.csdn.net/x ...
- [Android Pro] Android 6.0 Root
reference : http://bbs.gfan.com/android-8001827-1-1.html 2. 刷机和刷入recovery 建议参考 置顶教程: [15年3月31日更新]Nex ...
- [Android Pro] Android源码编译之Nexus5真机编译
reference to : http://blog.csdn.net/liu1075538266/article/details/51272398 1. 前言 在Android安全的研究工作中, ...
- [Android Pro] Android下toolbox简介
toolbox是Android 自带的提供shell命令的软件.有点类似于busybox,但功能上好像弱很多. 其源码可以从Android source code 中system/core/toolb ...
- [Android Pro] Android源码编译后,再重编译所需要做的清理工作
1.在源码目录的根目录下,make clean; 2.进到源码的\linux\kernel\目录下,执行make mrproper: 3.再退回到根目录,执行source build/envsetu ...
- [Android Pro] 有关Broadcast作为内部类时注册的一些问题
很经常Broadcast都会写成一个Activity或者Service的内部类.这时候的注册和普通有点小区别. 有两种情况 1.假如是再Manifest文件里面静态注册的话,需要注意. ex: < ...
- [Android Pro] 精确记录和恢复ListView滑动位置
reference to : http://blog.csdn.net/welovesunflower/article/details/7926512 工作中遇到一个需求,对ListView某一项操作 ...
- [Android Pro] ScrollView使用fillViewport设置高度为MatchParent
reference to : http://blog.csdn.net/u012975705/article/details/49275001 之前遇到一问题,就是当使用ScrollView时,Scr ...
最新文章
- html怎么转换undefined,JavaScript之Undefined详解
- u-boot2013.01.01 for s5pv210: u-boot启动流程
- scratch desktop的基本使用 - 如何使用积木
- 编译hotspot_从Hotspot JIT编译器打印生成的汇编代码
- medoo update mysql_Medoo Update的使用:修改更新数据
- 【限时免费】云计算时代的安全和智能运维(11月18日周六|广州)
- 计算机实验云平台,浅析基于云平台的计算机实验教学中心建设
- java ee jaas_Java Web系列:JAAS认证和授权基础
- 图像处理——空间域和频率域部分图像增强学习
- cad(2000坐标系)转kml
- 星空投影夜灯-隐私政策协议
- COLA 4.0应用架构在CSB集成平台的应用实践
- AB PLC 1769模拟量模块量程转换
- web安全攻防渗透+赵雨佳43
- PC端自适应-rem
- 双层pdf-不用手动添加目录超链接教程
- JAVA:日期时间范围查询0点到23点59分59秒之间
- QMC5883L说明文档
- hdu-4745 Two Rabbits
- 三国群英传霸业之王服务器维护,20190723维护公告