閱讀722 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Android手機分辨率基礎知識(DPI,DIP計算)

原文:https://blog.csdn.net/moruite/article/details/6028547


 

1. 術語和概念

術語

說明

備注

Screen size(屏幕尺寸)

指的是手機實際的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸

摩托羅拉milestone手機是3.7英寸

Aspect Ratio(寬高比率)

指的是實際的物理尺寸寬高比率,分為long和nolong

Milestone是16:9,屬於long

Resolution(分辨率)

和電腦的分辨率概念一樣,指手機屏幕縱、橫方向像素個數

Milestone是854*480

DPI(dot per inch)

每英寸像素數,如120dpi,160dpi等,假設QVGA(320*240)分辨率的屏幕物理尺寸是(2英寸*1.5英寸),dpi=160

可以反映屏幕的清晰度,用於縮放UI的

Density(密度)

屏幕裏像素值濃度,resolution/Screen size可以反映出手機密度

 

Density-independent pixel (dip)

指的是邏輯密度計算單位,dip和具體像素值的對應公式是dip/pixel=dpi值/160

 

 

2. DPI值計算

比如:計算WVGA(800*480)分辨率,3.7英寸的密度DPI,如圖1所示

 

                圖1 

Diagonal pixel表示對角線的像素值(=),DPI=933/3.7=252

 

 

 

3. 手機屏幕的分類

 

3.1 根據手機屏幕密度(DPI)或屏幕尺寸大小分為以下3類,如圖2所示

 

 

                         

                          圖2

 

3. 2 手機屏幕分類和像素密度的對應關係如表1所示:

 

Low density (120), ldpi

Medium density (160), mdpi

High density (240), hdpi

Small screen

QVGA (240x320)

 

 

Normal screen

WQVGA400 (240x400)WQVGA432 (240x432)

HVGA (320x480)

WVGA800 (480x800)WVGA854 (480x854)

Large screen

 

WVGA800* (480x800)WVGA854* (480x854)

 

                                       表1

3.3 手機尺寸分布情況(https://developer.android.com/resources/dashboard/screens.html)如圖3所示,目前主要是以分辨率為800*480和854*480的手機用戶居多

                                                         圖3

4 UI設計

從開發角度講,應用程序會根據3類Android手機屏幕提供3套UI布局文件,但是相應界麵圖標也需要提供3套,如表2所示

Icon Type

Standard Asset Sizes (in Pixels), for Generalized Screen Densities

 

Low density screen (ldpi)

Medium density screen (mdpi)

High density screen (hdpi)

Launcher

36 x 36 px

48 x 48 px

72 x 72 px

Menu

36 x 36 px

48 x 48 px

72 x 72 px

Status Bar

24 x 24 px

32 x 32 px

48 x 48 px

Tab

24 x 24 px

32 x 32 px

48 x 48 px

Dialog

24 x 24 px

32 x 32 px

48 x 48 px

List View

24 x 24 px

32 x 32 px

48 x 48 px

                                         表2


最後更新:2017-04-02 06:52:08

  上一篇:go Java中float,double為什麼會丟失精度。
  下一篇:go Android中Activity共享變量的另一方法:Application context