android中关于dip和px以及转换的总结
2013-07-24 10:25
253 查看
原文地址:http://kongweile.iteye.com/blog/1014445
在Android中支持的描述大小区域的类型有以下几种。
px(pixels)——像素:不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。
dip(device independent pixels)——设备独立像素:这个和设备硬件有关,一般哦我们为了支持WCGA、HVGA和QVGA推荐使用这个,不依赖于像素。等同于dp。
sp(scaled pixels—best for text size)——带比例的像素。
pt(points)——磅:1pt = 1/72英寸
in(inches)——英寸
mm(millimeters)——毫米
到底px和dip有什么区别呢?
dip != px
主要是针对不同设备而言的
在Density是160的设备上,比如用AVDManager创建的默认模拟器,dip和px是一样的
但是如果同样的代码,换到不同Density的设备上,比如换到一个Density是240的设备上,dip和px体现出来的大小就不一样了
px不管在什么样的设备上都是那样长,但是dip会根据设备变化
WQVGA屏density=120;QVGA屏density=120;HVGA屏density=160;WVGA屏density=240;
density值表示每英寸有多少个显示点,与分辨率是两个概念。
当屏幕density=240时使用hdpi标签的资源
当屏幕density=160时,使用mdpi标签的资源
当屏幕density=120时,使用ldpi标签的资源。
不加任何标签的资源是各种分辨率情况下共用的。
布局时尽量使用单位dip,少使用px
换算公式为 pixs = dips * (densityDpi/160).
dips=(pixs*160)/densityDpi
如何获得设备的屏幕分辨率和屏幕密度:
如分辨率为480*800,密度为240的设备
DisplayMetrics dm =getResources().getDisplayMetrics();
dm.densityDpi=240
dm.widthPixels=480
dm.heightPixels=800
相关资料一:http://developer.android.com/guide/practices/screens_support.html
相关资料二:http://www.imyukin.com/?p=277
附:Android DP / PX converter
http://labs.rampinteractive.co.uk/android_dp_px_calculator/
在Android中支持的描述大小区域的类型有以下几种。
px(pixels)——像素:不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。
dip(device independent pixels)——设备独立像素:这个和设备硬件有关,一般哦我们为了支持WCGA、HVGA和QVGA推荐使用这个,不依赖于像素。等同于dp。
sp(scaled pixels—best for text size)——带比例的像素。
pt(points)——磅:1pt = 1/72英寸
in(inches)——英寸
mm(millimeters)——毫米
到底px和dip有什么区别呢?
dip != px
主要是针对不同设备而言的
在Density是160的设备上,比如用AVDManager创建的默认模拟器,dip和px是一样的
但是如果同样的代码,换到不同Density的设备上,比如换到一个Density是240的设备上,dip和px体现出来的大小就不一样了
px不管在什么样的设备上都是那样长,但是dip会根据设备变化
WQVGA屏density=120;QVGA屏density=120;HVGA屏density=160;WVGA屏density=240;
density值表示每英寸有多少个显示点,与分辨率是两个概念。
当屏幕density=240时使用hdpi标签的资源
当屏幕density=160时,使用mdpi标签的资源
当屏幕density=120时,使用ldpi标签的资源。
不加任何标签的资源是各种分辨率情况下共用的。
布局时尽量使用单位dip,少使用px
换算公式为 pixs = dips * (densityDpi/160).
dips=(pixs*160)/densityDpi
如何获得设备的屏幕分辨率和屏幕密度:
如分辨率为480*800,密度为240的设备
DisplayMetrics dm =getResources().getDisplayMetrics();
dm.densityDpi=240
dm.widthPixels=480
dm.heightPixels=800
相关资料一:http://developer.android.com/guide/practices/screens_support.html
相关资料二:http://www.imyukin.com/?p=277
附:Android DP / PX converter
http://labs.rampinteractive.co.uk/android_dp_px_calculator/
相关文章推荐
- Android中关于dip和px以及转换的总结
- Android中关于dip和px以及转换的总结
- Android中关于dip和px以及转换的总结
- Android中关于dip和px以及转换的总结
- Android中关于dip和px以及转换的总结(重点推荐文章)
- Android中关于dip和px以及转换的总结
- Android中关于dip和px以及转换的总结
- android中关于dip和px以及转换的总结
- Android中关于dip和px以及转换的总结
- Android中关于dip和px以及转换的总结
- Android中关于dip和px以及转换的总结
- Android中dip和px以及转关于换的总结
- 关于android中屏幕的宽度/高度/屏幕密度(ppi)的获取以及dp与px之间的转换
- 关于Android setTextSize() 以及 px dip/dp sp的说明
- 关于android setTextSize() 以及 px dip/dp sp的说明。。。。
- Android - 开发页面需了解的dip,sp,px知识,以及它们的转换
- 关于Android中长度单位(px,dip,dp,sp等)知识的总结
- Android中dip(dp)与px之间单位转换 dip2px dp转px 无context算法(以及获取获取屏幕宽度和高度)
- Android中px与dip,sp与dip等的转换工具类
- Android中px与dip,sp与dip等的转换工具类