万事须己运,他得非我贤。这篇文章主要讲述[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());
【[Android Pro]Android TypedValue.applyDimension()的用法】
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端上传图片到后台,存储到数据库中 详细代码
- Android中土司(Toast)的使用
- 如何从给定的中序和先序遍历中打印后序遍历()
- JavaScript基本语法介绍和用法指南
- 算法设计(求将给定重量装进袋子的最低成本)
- 算法设计(第n个卡塔兰数算法实现)
- 在jQuery中如何检查元素是否隐藏()
- jQuery如何使用ajaxError()方法(代码示例)
- 背景效果(CSS背景属性用法示例)