Android中的長度單位及屏幕分辨率(整理)、IOS設備分辨率

一.屏幕分辯率
VGA:Video Graphics Array,即:顯示繪圖矩陣,相當於640×480 像素; 
HVGA:Half-size VGA;即:VGA的一半,分辨率爲480×320; 
QVGA:Quarter VGA;即:VGA的四分之一,分辨率爲320×240; 
WVGA:Wide Video Graphics Array;即:擴大的VGA,分辨率爲800×480像素; 
WQVGA:Wide Quarter VGA;即:擴大的QVGA,分辨率比QVGA高,比VGA低,一般是:400×240,480×272; 
二.drawable-(hdpi,mdpi,ldpi)的區別
dpi是“dot per inch”的縮寫,每英寸像素數。
四種密度分類: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)
一般情況下的普通屏幕:ldpi是120,mdpi是160,hdpi是240,xhdpi是320。
三.drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的聯繫
hdpi裏面主要放高分辨率的圖片,如WVGA (480×800),FWVGA (480×854)
mdpi裏面主要放中等分辨率的圖片,如HVGA (320×480)
ldpi裏面主要放低分辨率的圖片,如QVGA (240×320)
系統會根據機器的分辨率來分別到這幾個文件夾裏面去找對應的圖片
四.度量單位含義
dip: device independent pixels(設備獨立像素). 不同設備有不同的顯示效果,這個和設備硬件有關,一般我們爲了支持WVGA、HVGA和QVGA 推薦使用這個,不依賴像素。 
dp: dip是一樣的
px: pixels(像素). 不同設備顯示效果相同,一般我們HVGA代表320x480像素。
pt: point,是一個標準的長度單位,1pt=1/72英寸,用於印刷業,非常簡單易用;
sp: scaled pixels(放大像素). 主要用於字體顯示best for textsize。
in(英寸):長度單位。 
mm(毫米):長度單位。
度量單位的換算公式
在android源碼包TypedValue.java中,我們看如下函數:
public static float applyDimension(int unit, float value,

                        DisplayMetrics metrics)

   {

        switch (unit) {

        case COMPLEX_UNIT_PX:

            return value;

        case COMPLEX_UNIT_DIP:

            return value * metrics.density;

        case COMPLEX_UNIT_SP:

            return value * metrics.scaledDensity;

        case COMPLEX_UNIT_PT:

            return value * metrics.xdpi * (1.0f/72);

        case COMPLEX_UNIT_IN:

            return value * metrics.xdpi;

        case COMPLEX_UNIT_MM:

            return value * metrics.xdpi * (1.0f/25.4f);

        }

        return 0;

    }

該函數功能:是把各單位換算爲像素。

metrics.density:默認值爲DENSITY_DEVICE / (float) DENSITY_DEFAULT;

metrics.scaledDensity:默認值爲DENSITY_DEVICE / (float) DENSITY_DEFAULT;

metrics.xdpi:默認值爲DENSITY_DEVICE;

DENSITY_DEVICE:爲屏幕密度

DENSITY_DEFAULT:默認值爲160

 

五.屏幕密度:

表示每英寸有多少個顯示點,與分辨率是兩個不同的概念。

       Android主要有以下幾種屏:如下表                                   

屏幕

Tyep

寬度

Pixels

高度

Pixels

尺寸

Range(inches)

屏幕密度

QVGA

240

320

2.6-3.0

low

WQVGA

240

400

3.2-3.5

low

FWQVGA 

240

432

3.5-3.8

low

HVGA 

320

480

3.0-3.5

Medium

WVGA 

480

800

3.3-4.0

High

FWVGA

480

854

3.5-4.0

High

WVGA

480

800

4.8-5.5

Medium

FWVGA 

480

854

5.0-5.8

Medium

備註

目前android默認的low=120 ;Medium =160; High = 240

 

綜上所述    

  據px = dip * density / 160,則當屏幕密度爲160時,px = dip
  根據 google 的建議,TextView 的字號最好使用 sp 做單位,而且查看TextView的源碼可知Android默認使用sp作爲字號單位。將dip作爲其他元素的單位。


iPhone:

iPhone 1G 320x480

iPhone 3G 320x480

iPhone 3GS 320x480

iPhone 4 640x960

iPhone 4S 640x960

iPhone 5 640x1136

iPhone 5S 640x1136

iPhone 5C 640x1136

iPhone 6 750x1334

iPhone 6 Plus 1080x1920 (開發應按照1242x2208適配)

iPod Touch:

iPod Touch 1G 320x480

iPod Touch 2G 320x480

iPod Touch 3G 320x480

iPod Touch 4G 640x960

iPod Touch 5G 640x1136


iPad:

iPad 1 1024x768

iPad 2 1024x768

The New iPad 2048x1536

iPad mini 1024x768

iPad 4 2048x1536

iPad Air 2048x1536

iPad mini 2 2048x1536

iPad Air 2 2048x1536

iPad mini 3 2048x1536


轉載地址:
http://blog.sina.com.cn/s/blog_957d483a01017ccj.html
http://blog.csdn.net/cwf19860527/article/details/36667085
發佈了50 篇原創文章 · 獲贊 5 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章