Android ppi 分辨率 屏幕适配

话不多说,一张图解决所有困惑

Android ppi 分辨率 屏幕适配_第1张图片
ppi.png

PPI = Pixels per inch,每英寸上的像素数,即 “像素密度”
美工作图时,应该以xhdpi(320dpi)为基石,768x1280 这样的分辨率(Android Studio 默认预览的机型是Nexus4 4.7寸 768x1280 xhdpi)。这样用QQ等相关截图工具量出来的px像素就是这个尺寸的2倍dp. 因为xhdpi下 1px=2dp,所以我们只需要在布局文件中填上量出的像素px值除以2即可

公式:
px = dp * ( dpi/160 )

分辨率:指手机屏幕的像素点数。android常见的屏幕尺寸有480x800, 720x1280, 1080x1920等。宽度在前,高度在后。(values-xhdpi-1280x720 文件夹 相反。)

屏幕大小:指手机对角线的物理尺寸,以英寸为单位。一英寸大概2.54厘米。

密度(dpi - dots per inch或ppi - pixels per inch):指每英寸的像素点数。数值越高,显示越细腻。相同的分辨率,不同的尺寸会产生不同的屏幕密度,导致andorid手机屏幕碎片化。而屏幕密度是android屏幕将界面进行缩放显示的依据。

密度分为:实际密度和系统密度
实际密度是我们根据手机屏幕分辨率和尺寸计算得到的dpi。

系统密度指:每部android手机屏幕都有一个初始固定的密度,这些值是120,160,240,320,480。它们之间间隔值呈现2倍的关系。一般情况下,240x320的屏幕是低密度的120dpi,即ldpi;320x480的屏幕是中密度160dpi,即mdpi;480x800的屏幕是高密度的240dpi,即hdpi;720x1280的屏幕是超高密度320dpi,即xdpi;1080x1920的屏幕是超超高密度480dpi,即xxhdpi。android对界面元素进行 缩放依据的是系统密度,而不是实际密度。

注意:密度为440dpi已经很清晰了。
ldpi(120dpi) - 240x320 1dp = 0.75px
mdpi(160dpi) - 320x480 1dp = 1px 屏幕宽度:320dp
hdpi(240dpi) - 480x800 1dp = 1.5px 屏幕宽度:320dp
xhdpi(320dpi) - 720x1280 1dp = 2px 屏幕宽度:360dp
xxhdpi(480dpi) - 1080x1920 1dp = 3px 屏幕宽度:360dp

各个资源文件夹中的图片尺寸同样符合ldpi:mdpi:hdpi:xhdpi:xxhdpi=3:4:6:8:12的规律。如果有一张图片,我们设置了固定的像素大小,并且希望android不会根据屏幕密度对它进行缩放,则可以把它放在drawable-nodpi文件夹中,这个文件夹中得图片以实际像素大小显示,不被缩放(dp值会改变哦)。
dp和px的换算以系统密度为主。sp与px的换算同dp与px的换算一样。

** 为手机提供UI,建议只针对xhdpi做一套图即可,在PS中768x1280(4.7寸 Nexus4 xhdpi)的画布上画图。**
将xhdpi为基准,各个比例为:


ldpi mdpi hdpi xhdpi xxhdpi xxxhdpi
0.375 0.5 0.75 1 1.5 2

常见手机的分辨率:

机型 分辨率 尺寸 ppi 所属dpi
三星I9300(s3) 1280x720 4.8 306ppi hdpi
小米3 1920 x 1080 5 441ppi xhdpi
小米2s 1280x720 4.3 342ppi xhdpi
红米note 1280x720 5.5 267ppi hdpi
iPhone 5 1136x640 4.0 326ppi xhdpi
iPhone 5s 1136x640 4.0 326ppi xhdpi
HTC OneX 1280x720 4.7 312ppi xhdpi

关注我的公众号.jpg

你可能感兴趣的:(Android ppi 分辨率 屏幕适配)