目录
1. 问题
最近折腾屏幕适配这块,以前隐隐约约记得,系统大概能够自动适配90%左右的问题,但总会有些边角料是需要自己去单独针对适配的;
由于在设计稿和UI 代码之间的鸿沟,dp是无法解决的,因为dp不是真实像素。而且,设计稿的宽高往往和Android的手机真实宽高差别极大,以我们的设计稿为例,设计稿的宽高是IOS:375px*750px Android:360px*640px,而真实手机可能普遍是1080*1920;
那这个问题怎么办呢 ?
2. 概念
我们常听说一些手机屏幕配置,列举一些屏幕配置三要素:
机型 | inch | 分辨率 | ppi |
---|---|---|---|
小米 9 | 6.39 inch | 2340 x 1080 px | 403 |
屏幕配置三要素:
- inch
- 分辨率
- ppi
设计人员在设计的时候,出的设计稿相关元素有:
设计三要素:
- 分辨率
- 倍率
- 基准(分辨率)
计算公式为:
分辨率 = 倍率 x 基准(分辨率)
我觉得既然是设计人员,是需要分开设计Android 和IOS 设计稿的,不然在一些非标准屏上,总是会有误差,而且误差有时候还会到了不能忽视的地步;
设计 | 分辨率 | 倍率 | 基准 |
---|---|---|---|
Android | 1080 x 1920 px | 3 | 360 x 640 px |
720 x 1280 px | 2 | 360 x 640 px |
那么,到了Android 小伙伴要实现设计稿的环节上,是如何平衡UI 设计与UI 实现的细节误差呢 ?
Android UI 实现除了需要设计提供分辨率和倍率信息之外,自己还需要结合具体机型,进行单独适配资源;
Android UI 实现要素:
- 设计,分辨率
- 设计,倍率
- 设备,分辨率
- 设备,density (像素密度无关)
Design UI | 分辨率 | 倍率 | 分辨率 | density | Android UI | 备注 |
---|---|---|---|---|---|---|
Design | 1080 x 1920 px | 3 | 1080 x 2340 px | 2.75</ |