http://geek.youkuaiyun.com/news/detail/190325 详细地址
由于 Android 系统的开放性,任何用户、开发者、OEM 厂商、运营商都可以对 Android 进行定制,于是导致:
- Android 系统碎片化: 小米定制的 MIUI、魅族定制的 flyme、华为定制的 EMUI 等等——当然都是基于 Google 原生系统定制的;
- Android 机型屏幕尺寸碎片化: 5 寸、5.5 寸、6 寸等等;
- Android 屏幕分辨率碎片化: 320x480、480x800、720x1280、1080x1920。
- dp 与 px 的转换
因为 UI 设计师给你的设计图是以 px 为单位的,Android 开发则是使用 dp 作为单位的,那么我们需要进行转换:
密度类型 | 代表的分辨率(px) | 屏幕像素密度(dpi) | 换算(px/dp) | 比例 |
---|---|---|---|---|
低密度(ldpi) | 240x320 | 120 | 1dp=0.75px | 3 |
中密度(mdpi) | 320x480 | 160 | 1dp=1px | 4 |
高密度(hdpi) | 480x800 | 240 | 1dp=1.5px | 6 |
超高密度(xhdpi) | 720x1280 | 320 | 1dp=2px | 8 |
超超高密度(xxhdpi) | 1080x1920 | 480 | 1dp=3px | 12 |
在 Android 中,规定以 160dpi(即屏幕分辨率为 320x480)为基准:1dp=1px
xhdpi 应该是首选。原因如下:
- xhdpi 分辨率以内的手机需求量最旺盛:目前市面上最普遍的高端机的分辨率还多集中在 720X1080 范围内(xhdpi),所以目前来看 xhpdi 规格的图片资源成为了首选。
- 节省设计资源&工作量:在现在的 App 开发中(iOS 和 Android 版本),有些设计师为了保持 App 不同版本的体验交互一致,可能会以 iPhone 手机为基础进行设计,包括后期的切图之类的。