您的位置:首页 > 移动开发 > Android开发

android 屏幕分辨率总结

2015-08-12 17:59 246 查看
/**
* 作者:crazyandcoder
* 联系:
*      QQ   : 275137657
*      email: lijiwork@sina.com
* 转载请注明出处!
*/


android 屏幕分辨率总结

接触androidUI设计总是会碰到一些概念如:dpi、ppi、sp、dp等,这些都是什么意思呢?以及我们在使用这些时需要注意些什么?接下来我们就来做个总结,方便以后使用。

一、基本概念

 px 
像素 pixels,屏幕中实际的像素点单位,如50px、100px等。当我们放大一张图片时会发现图片是由一个个小方 块组成的,这每一个方块就是一个像素点。

dp(dip)
设备独立像素 (device independent pixels),即密度无关像素,以160dpi为基准,1px=1dpi。

分辨率
就是说屏幕中横纵含有像素点数。1px=1像素点数。一般是以纵像素点数*横像素点数的总和,如1920*1080、480*320等。

屏幕尺寸

屏幕对角线的长度,1英寸=2.54cm.
dpi
屏幕像素密度(dot per inch),打印分辨率,即每英寸能打印得点数,即打印精度,它与屏幕尺寸和屏幕分辨率有关。

ppi
图像分辨率(pixels per inch),在图像中,每英寸所包含得像素数目。dpi主要用于输出,重点是打印设备 上,ppi对于设计师应该比较熟悉,photoshop画布得分辨率通常设置为72像素/英寸,这个单位其实就是ppi,尽管概念不同,但对于移动设备得显示屏来说,可以看作ppi=dpi。

运算方式:PPI=√(长度像素²+宽度像素²)/ 屏幕对角线英寸数。即:长、宽各自平方和得开方,再除以对角线得英寸数。

对于iPhone5来说:其ppi=√(1136px² + 640px²)/4 in=326ppi(视网膜Retina屏)

对于android手机来说:一个不确切的分法是,720 x 1280 的手机很可能接近 320 dpi (xhdpi模式),480 x 800
的手机很可能接近 240 dpi (hdpi模式),而320 x 480 的手机则很接近 160 dpi(mdpi模式)。
sp
放大像素,scaled pixels,主要用字体显示,建议不低于12sp,一般用12sp、14sp、18sp、22sp,不建议使用奇数个单位sp。

二、换算关系

换算

android开发中,文字大小的单位是sp,其他非文字的尺寸单位是dp,但是我们在设计时用的单位一般都是像素px,这些单位是如何进行换算的,对于android开发、设计人员是有必要了解的。

px=dp*ppi/160
px=sp*ppi/160

1)dp:Density - indenpendent pixels ,以160PPI屏幕为标准,则1dp=1px。对于320PPI屏幕,则      1dp*320ppi/160=2px;

 2)sp:Scale - independent pixels,它是android的字体单位,以160PPI屏幕为标准,若字体大小为100%时,  1sp=1px,对于320PPI的屏幕,1sp*320ppi/160=2px。

简单的说,px是UI设计师在ps中使用的单位,同时也是手机屏幕上所显示的,dp是开发卸载layout的时候使用的尺寸单位。

换算原因
为什么要用sp、dp替代px呢?因为他们不会随着PPI的变化而变化,在相同物理尺寸和不同ppi下,他们呈现的高度大小都是相同的,也就是更接近物理呈现,而px不行。

举例
当运行在mdpi模式下时,1dp=1px。也就是说:如果设计师在ps设计图中标注的item高度为48px,那么我们在 layout中定义的item高度就是48dp。

当运行在hdpi模式下时,1dp=1.5px。也就是说:如果设计师在ps设计图中标注的item高度为72px,那么我们在 layout中定义的item高度就是48dp。

当运行在xhdpi模式下时,1dp=2px。也就是说:如果设计师在ps设计图中标注的item高度为96px,那么我们在 layout中定义的item高度就是48dp。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: