TypedValue.applyDimension的用法和转换的真相
来源:互联网 发布:网络会员制营销的概念 编辑:程序博客网 时间:2024/06/06 03:31
很经常用到TypedValue.applyDimension这个方法,之前自己没有去看源码,趁现在看了源码分析记录一下。
TypedValue.applyDimension是一个将各种单位的值转换为像素的方法
用法TypedValue.applyDimension(int unit, float value,DisplayMetrics metrics)
例子: TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, getResources().getDisplayMetrics())
源码分析:
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; }DisplayMetrics是一个获取屏幕信息的类,density是设备密度。在此可见applyDemension,第一个参数是指第二个参数值得单位,并将该单位的值转换为px。例子中我们传入单位为dp,值为20.
dp和px的转换:dp = px / density
因此得到的值为40px。
1 0
- TypedValue.applyDimension的用法和转换的真相
- TypedValue.applyDimension 中dp和sp之间转化的真相
- TypedValue.applyDimension 中dp和sp之间转化的真相
- TypedValue.applyDimension 中dp和sp之间转化的真相
- Android TypedValue.applyDimension()的用法
- Android TypedValue.applyDimension()的用法
- Android TypedValue.applyDimension()的用法
- android TypedValue.applyDimension()的作用 单位转换
- TypedValue.applyDimension()的作用
- TypedValue.applyDimension的作用
- TypedValue.applyDimension()的作用
- TypedValue.applyDimension()的作用
- android TypedValue.applyDimension()的作用和解释
- android TypedValue.applyDimension()的作用
- android TypedValue.applyDimension()的作用
- android TypedValue.applyDimension()的作用
- android TypedValue.applyDimension()的作用
- android TypedValue.applyDimension()的作用
- uva10801
- extern
- 初学IOS_UI基础_单组table_封装版本_有GIF图_有源文件
- Web开发JavaScript实用技巧
- 精通 Oracle+Python,第 7 部分:面向服务的 Python 架构
- TypedValue.applyDimension的用法和转换的真相
- 【HDU-oj]-1009-FatMouse' Trade(贪心)
- base64编码转换DLL使用方法定义
- ios常用的第三方类库
- closest
- linux 操作系统中chown命令的使用
- 【C/C++】将字符串按空格逆置
- 引导页 小实例 ViewPager
- mysql 单表多字段模糊查询解决方法