DPI 計算及速查表 -开发者知识库

DPI 計算及速查表 -开发者知识库,第1张

【來源】ExMobi 二次開發手冊

手機屏幕根據密度范圍分為五種:低、中、高、超高、超超高,為了確保界面元素在不同的屏幕都能合適的展示,在設計界面元素的 UI 時,UI 工程師建議統一采用 dpi (Dots Per Inch) 來定義界面元素。

計算手機dpi,需要知道手機屏幕尺寸和手機分辨率。即

 DPI 計算及速查表 -开发者知识库,第2张

手機分辨率 屏幕尺寸(Inch) 實際 DPI 分屏 DPI 值
480 x 800 4 英寸 233 高分屏 [188,300) 240
480 x 854 3.7 英寸 265 高分屏 [188,300) 240
1024 x 768 9.7 英寸 132 中分屏 [121,188) 160
320 x 480 3.5 英寸 165 中分屏 [121,188) 160
640 x 960 3.5 英寸 330 超高分屏 [300,420) 320
1920 x 1080 5 英寸 440 超超高分屏 [420, ) 480

 

 

 

 

 

 

 

【示例】

三星 i9000,屏幕尺寸 4 英寸,分辨率 480 * 800。套入公式

DPI 計算及速查表 -开发者知识库,第3张

計算結果取近似值 233,即三星 i9000 的 dpi 為 233。介於高分屏區間 [188,300],所以取 240.

在實際設計中,UI 度量單位以 640*960 設計圖為基准,測量實際尺寸除以 2。現在以 720*1280 設計圖為基准。

 1 /**
2 * 獲得屏幕相對的寬度和高度<br />
3 * 橫屏時候寬度大於高度,豎屏時候高度大於寬度
4 *
5 * param windowManager
6 * return <br />
7 * point.x:寬度,point.y:高度
8 */
9 @SuppressLint("NewApi")
10 public static Point getScreenSize(WindowManager windowManager) {
11 Point point = new Point(0, 0);
12 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB_MR2) {
13 point.x = windowManager.getDefaultDisplay().getWidth();
14 point.y = windowManager.getDefaultDisplay().getHeight();
15 } else {
16 windowManager.getDefaultDisplay().getSize(point);
17 }
18
19 return point;
20 }

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复