1、dpi ,dip(dp), density
几个比较难描述的概念,摘这个blog的:
http://www.cnblogs.com/wader2011/archive/2011/11/29/2267490.html
1 、物理单位像素 pixel
2 、density: 屏幕密度 指每平方英寸中的像素数。
Density=Resolution/Screen size
在DisplayMetrics类中属性density的值为dpi/160(可用于px与dip的互相转换)
3、dpi: (dots per inch 像素密度)
每英寸中的像素数。如160dpi指手机水平或垂直方向上每英寸距离有160个像素点。假定设备分辨率为320*240,屏幕长2英寸宽1.5英寸, dpi=320/2=240/1.5=160
简单的估算可以用ppi 也就是买手机时经常会标的参数:
=屏幕对角线的像素长度/屏幕对角线的尺寸
4、dip = dp: (Device-independent pixel,设备独立像素)
dip值 =设备密度/160* pixel值
dip值 =density* pixel值
2、常见设备对应值
理想设备
- xxhdpi -> dpi=480 ->density=3
- xhdpi -> dpi=320 -> density=2
- hdpi -> dpi=240 -> density=1.5
- mdpi -> dpi=160 -> density=1
其中:
手机设备 720p 对应 xhdpi
手机设备 1080p 对应 xxhdpi
tv 设备 720p 对应 mdpi
tv 设备 1080p 对应 hdpi
3、标注与切图 设计图对取图的影响
ui 图的标注,切图和 设计图的分辨率有关系。
比如针对Android开发的ui图给图也是跟着主流设备走,一个发展的过程:
480*800 -> 720*1280 -> 1080*1920 -> (以后2k屏幕)
手机(480*800 hdpi = 1.5) ->(720*1280 xhdpi = 2) -> (1080*1920 xxhdpi = 3)
tv (720*1280 mdpi = 1) -> (1080*1920 hdpi = 1.5)
3.1、距离的标注
例如:比如对字体的标注,一个控件和另一个控件之间的距离标注。
设计图1080*1920 上的一个距离是 100.0px 对应
在1080*1920 -xhdpi(tv dpi=1.5) 的设备上对应的就是 100.0 / 1.5 dp
在720*1280 - mdpi (tv dpi=1.0 )的设备上对应的就是 100*(720/1080)/1 = 100/1.5dp
3.2、图片切图
切图的计算方式和距离的标注的计算方式不同
3.2.1设计图 = 1080 * 1920 icon = 232*232
手机尺寸
xxhdpi:xhdpi:hdpi:mdpi = 6:4:3:2 其中设计图与xxhpi的图标大小一致
xxhpi 232*232
xhdpi 155*155
hdpi 116*116
mdpi 77*77
tv尺寸
hdpi:mdpi = 1.5 :1
hdpi 232 x 232
mdpi 155 x 155
3.2.2设计图 = 720 * 1080 icon = 232*232
xxhdpi:xhdpi:hdpi:mdpi = 6:4:3:2 其中设计图与xhpi的图标大小一致
xxhdpi 348x348
xhpi 232x232
hdpi 174x174
mdpi 116x116
tv尺寸
hdpi:mdpi = 1.5:1
hdpi 348x348
mdpi 232x232