Android系统字体规范

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Android系统字体规范

我们在做Android移动APP设计的时候,字号的选择也是很让人头疼,转载一份有关Android系统字体规范,如果在做Android项目的用户应该看看,如果有任何建议欢迎在留言处与我们交流探讨。

主要从以下几点做了分析:

移动设计中与字号有关的基本概念

Android系统默认字体及字号

Android字体单位sp与px的换算

规范字号的意义

印刷业的规范字号的用法

Android规范字号的近似用法

如何向前端输出?

如何在photoshop里选择字号?

1.移动设计中与字号有关的基本概念

px:Pixels即像素,基本原色素及其灰度的基本编码。

DPI:dots per inch,是印刷上的记量单位,意思是每个英寸上,所能印刷的网点数。PPI:pixels per inch数字影像的解析度,意思是每英寸所拥有的像素数,即像素密度。PPI=√(长度像素数²+宽度像素数²)/屏幕对角线英寸数

pt:Point,磅因,国际通行的印刷单位,是一个自然界标准的长度单位。

inch=2.54cm=25.4mm=72pt,1pt≈0.35mm

Photoshop里的字体单位pt和point不一样。在Photoshop里,同样是10pt的字,只要变换字体,字的高度就会变化。

dp:Density-independent pixels,以160PPI屏幕为标准,则1dp=1px

dp和px的换算公式:dp*ppi/160=px

sp:Scale-independent pixels.安卓的字体单位,以160PPI屏幕为标准,当字体大小为100%时,1sp=1px

sp与px的换算公式:sp*ppi/160=px

2.Android系统默认字体Rotobo,限定使用以下字号

3.Android字体单位sp与px的换算

PPI=√(长度像素数²+宽度像素数²)/屏幕对角线英寸数sp与px的换算公式:sp*ppi/160=px

以三星Note2为例,PPI=√(1280²+720²)/5.5=267

经测量,三星Note2的字体高度确实如此,见下图:

4.规范字号的意义

保证相同字号的字在不同PPI屏幕上显示的物理高度一致,下面来验证一下。

设定PPI为267时,高度18sp(即30px)的字的物理高度为X,则:

一英寸里的像素数267/一英寸里的毫米数25.4mm=30/X

X≈2.86mm

设定PPI为160时,高度18sp(即18px)的字的物理高度为Y,则:

一英寸里的像素数160/一英寸里的毫米数25.4mm=18/Y

Y≈2.86mm

综上,X=Y,这就证明了同为18sp的字在PPI分别为267和160时,显示的物理高度都是2.86mm

5.印刷业的规范字号的用法

看书的时候眼睛距离书本的最佳距离为33cm,书本的阅读距离比较接近于手机的阅读距离,所以我们来参考下书本上印刷文字的规范。

印刷业已经有成熟的行业字号标准,如下表所示:

其中正文常用的字号是六号(7.5p)、小五号(9p)、五号(10.5p),如下表所示:

6.Android规范字号的近似用法

通过计算出Android规范字号的物理高度,找到每个字号最接近的印刷字号:

再根据印刷字号的用途,近似得出Android规范字号的用法

7.如何向前端输出?

第一步:将sp换算成px。但是px随PPI变化而变化,这一点可以从sp与px的换算公式“sp*ppi/160=px”看出来。我们不能算出所有的情况,所以只计算首选需要适配的ppi对应的像素高度。

第二步:把算好的像素高度和换算公式“sp*ppi/160=px”同时输出给前端,这样以后再换ppi,前端可以自动计算。另外,前端代码里定义字体高度用的也是px,所以设计师向前端输出以px计算的字号尺寸是非常合适的。例如:

8.如何在photoshop里选择字号?

上文中,我们已经算出了字体像素高度,把这些像素高度画到ps里,

再把你要使用的字体调到这样的像素高度,得出photoshop里对应的字号,用于设计。也就是说Photoshop里的字号都需要根据实际情况,手动调出来,没有捷径。例如ppi为240时,对应的像素高度和字体字号如下图所示:

相关文档
最新文档