1、dpi ,dip(dp), density

几个比较难描述的概念,摘这个blog的:
http://www.cnblogs.com/wader2011/archive/2011/11/29/2267490.html

  1. density: 屏幕密度
    指每平方英寸中的像素数。
    Density=Resolution/Screen size
    在DisplayMetrics类中属性density的值为dpi/160(可用于px与dip的互相转换)

  2. dpi: (dots per inch 像素密度)
    每英寸中的像素数。如160dpi指手机水平或垂直方向上每英寸距离有160个像素点。假定设备分辨率为320*240,屏幕长2英寸宽1.5英寸,dpi=320/2=240/1.5=160
    简单的估算可以用ppi 也就是买手机时经常会标的参数:
    =屏幕对角线的像素长度/屏幕对角线的尺寸

  3. 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、标注与切图 设计图对取图的影响

  1. 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)

  2. ios设备给图的顺序:
    640x960 -> 640x1136 -> i6的具体怎么给没琢磨

  3. 然后有些公司比较抠门,是android 照着ios的设计图做的,也就是说
    在android设备盛行720p(i4s时代) android 的设计稿用的640*960
    在android设备盛行1080p(i5s时代) android 的设计稿用的640*1136
    因为android 照着ios的设计图做,开发自行转换算出来的值其实是偏小的。

3.1、距离的标注

例如:比如对字体的标注,一个控件和另一个控件之间的距离标注。

  1. 设计图1080*1920 上的一个距离是 100.0px 对应
    在1080*1920 - xxhdpi 的设备上对应的就是 100.0 / 3 dp
    在1080*1920 -xhdpi(tv) 的设备上对应的就是 100.0 / 1.5 dp
    在720*1280- xxhdpi 的设备上对应的就是 100*(720/1080) /3 dp
    在720*1280 - mdpi (tv)的设备上对应的就是 100*(720/1080)/1 = 100/1.5dp

  2. 设计图720*1280上的一个距离是 100.0px 对应
    在720*1280- xxhdpi 的设备上对应的就是 100/3 dp
    在720*1280 - mdpi(tv) 的设备上对应的就是 100/1 dp
    在1080*1920 - xxhdpi 的设备上对应的就是 100.0 * (1080/720) / 3 dp=100/4.5dp
    在1080*1920 -xhdpi (tv)的设备上对应的就是 100.0 * (1080/720) / 1.5 dp = 100/1dp

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

4、参考

[官]http://developer.android.com/intl/zh-cn/guide/practices/screens_support.html

更多相关文章

  1. Android自动化测试解决方案
  2. RK3288 android7.1.2 android studio 用户空间通过spi ioctl读取
  3. Ubuntu 10.04不能连接到HTC G1设备
  4. Android获取定位权限,获取设备所在的经纬度
  5. mac 下android开发 eclipse中找不到设备
  6. 远程登录android手机
  7. 探讨Android与iOS,我们将何去何从?
  8. Android(安卓)Studio 3.6.2 | 使用内置文件浏览器查看文件
  9. Android系列 adb操作命令详解

随机推荐

  1. Android Recovery 解析
  2. android 弹出的软键盘遮挡住EditText文本
  3. Android的binder机制分析
  4. Android之Http网络编程(一)
  5. Android之A面试题③应用程序启动过程源代
  6. Android Service之MountService源码分析
  7. 理解android中ListFragment和Loader
  8. Google Android(安卓)SDK舍弃Java ME,支持
  9. LinearLayout组件右对齐
  10. 修改Android中的文件权限