天天看點

手機螢幕尺寸,分辨率,密度,dpi,dip,px,sp等詳解

           對于手機的尺寸和螢幕的分辨率等,一直以來不是很清楚,是以花了些時間學習了一下,做一下小結,若有不對之處,還望指正。

下面以我的手機 華為C8813 為例,參數如下:

         主屏尺寸:     4.5 英寸

         主屏分辨率: 854x480 

         手機尺寸:     132.5x67x9.3 mm

一:螢幕的尺寸 (Screen Size)

  1:   主屏尺寸 

       表示 主屏對角線的長度   (不是整個手機的長度)

       其中以 1 英寸 = 2.54 cm

       是以     4.5 英寸 = 4.5 * 2.54 = 11.43 cm ,一般說的手機的螢幕大小都是指的主屏的尺寸,而不是手機的面積

手機螢幕尺寸,分辨率,密度,dpi,dip,px,sp等詳解

  2:   手機尺寸

      表示手機的實際大小( 整個手機),也稱實體尺寸       132.5x67x9.3mm        其中9.3mm是厚度

二: 螢幕分辨率

Android 擷取螢幕的分辨率如下: DisplayMetrics metrics =  new  DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); int  width = metrics.  widthPixels ;-------------480(c8813的參數) int  height = metrics.  heightPixels ;-----------854 int  density = (  int ) metrics.  density ;-------- 1 int  densityDpi = metrics.  densityDpi ;--------- 240

1:像素 pixel (px)

      要說分辨率,先說像素是picture和element兩個單詞的字母組成 ,圖像成像的最小機關,越高的像素,其擁有的色闆也就越豐富,越能表達顔色的真實感。

       不同裝置顯示效果相同。這裡的“相同”是指像素數不會變,比如指定UI長度是100px,那不管分辨率是多少UI長度都是100px。也正是因為如此才造成了UI在小分辨率裝置上被放大而失真,在大分辨率上被縮小。

2:分辨率 Resolution

     定義1:螢幕上擁有的像素的總數。注意,雖然大部分情況下分辨率都被表示成“ 寬帶 x 長度” ,但分辨率并不意味着螢幕長寬比。      定義2: 指手機螢幕垂直和水準方向上的像素個數。比如分辨率是480*320,則指裝置垂直方向有480個像素點,水準方向有320個像素點。 上面兩個定義中,意思差不多,個人覺的定義2說的更準确一些。      目前 我的C8813的 分辨率是 : 854x480

3:密度 Density

     定義:每平方英尺中的像素數。      通常的值  : 0.75/1/1.5  int   density = (   int ) metrics.   density ;

4:Dpi  DensityDpi 

    定義:每英尺中的像素數。(dots per inch 像素密度)      例如:240 dpi 指手機水準或者垂直方向上每英尺距離有240個像素點。     而 c8813的 分辨率為 854 x 480 則 螢幕長 = 854 /240英尺 ,寬 = 480 / 240 英尺      int   densityDpi = metrics.   densityDpi ;

5: Dip  (dp) 裝置獨立像素

    Dip (Device-independent pixel),在布局中用"dp",不依賴像素,這個是Android 推薦了在布局中使用dp作為機關.

注意:有個公式

       dip (dp) = 裝置密度dpi/160 * pixel  = Dpi /160 * pixel

 例如:c8813 的 裝置密度 densityDpi = 240             是以                      dip = 240 / 160 * pixel = 1.5 pixel 

            如果dpi = 160 ,則  1dp = 1pixel (px)

6: Sp 放大像素

     主要用于字型顯示(best for textsize)。根據 google 的建議,TextView 的字号最好使用 sp 做機關,而且檢視TextView的源碼可知 Android 預設使用 sp 作為字号機關。

7: 各個螢幕的分辨率  

QVGA      :  分辨率為    240*480       (Quarter VGA即四分之一) HVGA     :分辨率為    320*480       ( Half-size VGA即一半)  VGA        :  分辨率為    640*480        (全稱Video Graphic Array) WVGA    : 分辨率為  800*480         (Wide VGA 很多網頁的寬度都是800,是以WVGA的手機螢幕會更加适合于浏覽網頁) FWVGA  :分辨率為   854*480         手機c8813就是 其他的分辨率就不一一說了。

繼續閱讀