一,pt、px、屏幕尺寸、分辨率及ppi关系与单位换算
pt(point):磅,一个标准的固定长度单位,大小为1/72英寸。
主要用于印刷和平面设计
1inch = 2.54cm = 72pt
px(pixel):像素,组成屏幕图像的最小点,一个相对大小单位。
同尺寸屏幕(手机,电脑等屏幕)中像素越小越多,代表分辨率越高,反之越低。
pt、px之间的换算公式:
1pt = (ppi/72)*px
即ppi为72的时候 1pt = 1px
屏幕尺寸:屏幕物理尺寸,指屏幕对角线长度,而不是屏幕宽度和高度
单位为英寸,如5英寸等。
Android把所有的屏幕大小分为四种尺寸:小(小于3英寸),普通(4.5英寸左右的),大(4-7英寸的),超大(7-10英寸)(分别对应:small normal large extra large)
inch.png
分辨率(Resolution):屏幕拥有像素的尺寸以及屏幕水平和垂直方向的像素数量
resolution.png
ppi(pixels per inch):屏幕密度,只每英寸所拥有的像素数/每英寸像素。
ppi 数值越高,即代表显示屏能够以越高的密度显示图像。显示的密度越高,拟真度就越高
无需手动计算,打开网页搜索,输入相关参数即可
当然了 并不是ppi越高越好的,当你拿手机距离你约25CM-30CM,如果手机ppi打到300以上,你的眼睛将无法分辨出像素点。这就是苹果提出的视网膜屏幕。
dpi(dots per inch):印刷计数单位,指每英寸所能印刷出来的网点数。
衡量打印机打印精度的主要参数之一,值越大,标明打印机的打印精度越高
电脑图片时72dpi,但印刷图片dpi参数最好是300dpi以上。如果冲洗5*7英寸的照片,dpi是300,照片需要达到(5* 300)*(7*300)= 1500 * 2100像素
电子屏上 dpi = ppi
二,dp、px转换与屏幕密度分类
dp(Density-independent Pixels):与密度无关的像素单位。
Android开发虚拟单位。在每英寸160点的显示器上,1dp = 1px;
dip(Device-independent Pixels):设备独立像素单位。
Android开发虚拟单位。多用于Android示例技术单位
sp(Scale-independent Pixel):Android字体大小虚拟单位。
在每英寸160点的显示器上,当文字大小为100%时,1sp = 1px;
按照Android开发原则,文字尺寸一律使用sp单位,非文字的尺寸一律使用dp单位。
例如:text-size="14sp" layout_height="40dp"
dp与px的转换:
dp_px.png
dp与px的转换公式:
dp = (160/ppi)* px
px = dp* ppi/160
![Uploading 48dp_983823.png . . .]
dp_px2.png
三,UI屏幕适配方案
同样的dp,放入不同的资源文件夹,图片尺寸需要按比例缩放。建议提供一套XXHdpi的图片资源。对于图标等要求精细的图片,可以再制作一套XHdpi补充。
下面是同样的48dp,不同的密度等级下的图片尺寸:
48dp.png
考虑横屏和竖屏的设计效果图:android有layout_port和layout_land两个目录,分别放置竖屏和横屏两种布局文件,在手机屏幕方向变化会自动调用相应的布局文件。此时,设计也需要两种布局的效果图