文章目錄
- 1: 主屏尺寸
- 2: 手機尺寸
- 1:像素 pixel (px)
- 2:解析度 Resolution
- 3:密度 Density
- 4:Dpi DensityDpi
- 5: Dip (dp) 裝置獨立像素
- 注意:有個公式
- 6: Sp 放大像素
- 7: 各個螢幕的解析度
對於手機的尺寸和螢幕的解析度等,一直以來不是很清楚,所以花了些時間學習了一下,做一下小結,若有不對之處,還望指正。
下面以My Phone 華為C8813 為例,參數如下:
主屏尺寸: 4.5 英寸
主屏解析度: 854x480
手機尺寸: 132.5x67x9.3 mm
一:螢幕的尺寸 (Screen Size) 1: 主屏尺寸
表示 主屏對角線的長度 (不是整個手機的長度)
其中以 1 英寸 = 2.54 cm
所以 4.5 英寸 = 4.5 * 2.54 = 11.43 cm ,一般說的手機的螢幕大小都是指的主屏的尺寸,而不是手機的面積
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的 解析度是 : 854x4803:密度 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就是其他的解析度就不一一說了。