天天看點

Android的px、dip、sp的差別

    在android開發的頁面布局中,設定控件的長度時經常會用到px、dip、sp等作像素的機關,但不清楚它們之間的差别。現将其差别整理羅列出來。

    dip: device independent pixels(裝置獨立像素). 不同裝置有不同的顯示效果,這個和裝置硬體有關,一般我們為了   支援WVGA、HVGA和QVGA 推薦使用這個,不依賴像素。

    px: pixels(像素). 不同裝置顯示效果相同,一般我們HVGA代表320x480像素,這個用的比較多。

    pt: point,是一個标準的長度機關,1pt=1/72英寸,用于印刷業,非常簡單易用;

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

備注: 根據google的推薦,像素統一使用dip,字型統一使用sp  

舉個例子差別px和dip:

px就是像素,如果用px,就會用實際像素畫,比個如吧,用畫一條長度為240px的橫線,在480寬的模拟器上看 就是一半的屏寬,而在320寬的模拟器上看就是2/3的屏寬了。

而dip,就是把螢幕的高分成480分,寬分成320分。比如你做一條160dip的橫線,無論你在320還480的模拟器上,都是一半屏的長度。