android 屏幕分辨率总结

来源:互联网 发布:淘宝怎么发布狮王祛痘 编辑:程序博客网 时间:2024/05/16 00:24

/**    * 作者: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。



1 0
原创粉丝点击