Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 在Android中,px,dp,dip,sp的不同之處

在Android中,px,dp,dip,sp的不同之處

編輯:關於Android編程

最近在學習Android開發,一直沒有弄清楚px,dp,dip,sp的區別。今天正好有時間,就花時間研究了一下。       眾所周知,Android廠商非常多,各種尺寸的Android手機、平板層出不窮。導致了Android生態環境的碎片化現象越來越嚴重。Google公司為了解決分辨率過多的問題,在Android的開發文檔中定義了px,dp,dip,sp,方便開發者適配不同分辨率的Android設備。   1.基礎知識:       mm:millimeters 毫米,長度單位。       in:inches  英寸,長度單位,屏幕物理尺寸大小的基本單位。       pt:points  一個標准單位,大小為一英寸的屏幕大小的1/72。       dpi: dots per inch 即每英寸的像素點。       舉個例子:           假設QVGA(320*240)分辨率的屏幕物理尺寸是(2英寸*1.5英寸),那麼這部手機的dpi=160。       Screen size(屏幕尺寸)指的是手機實際的物理尺寸。       如iPhone4S是3.5英寸,這裡指的是手機屏幕對角線的長度是3.5英寸。                   Resolution(分辨率)指手機屏幕橫、豎方向像素個數。      常見的手機分辨率:QVGA(240×320像素),HVGA(480×320像素),WVGA(800×480像素),720P(1280x720像素),1080P(1920x1080像素),2K(2560x1440像素)        2.基本定義:       px (Pixel的縮寫,即像素) 是指一個像素。       sp  (scale-independent pixels)是指比例獨立像素。       dip (device independent pixels)是指設備獨立像素。       dp:(Density-independent pixel)在Android文檔中(http://developer.android.com/guide/practices/screens_support.html#terms),它的計算方法是:px = dp * (dpi / 160)。       看一下dp的單位是什麼:像素 = dp的單位 * 像素/英寸  。可以看出dp的單位是長度單位英寸。1dp的長度 = 1 * dpi / 160 * 1 / dpi 英寸 = 1 / 160 英寸 。      dp的意義是:你可以根據看到的實際大小,在應用中設置對應的dp值,而使得不同的設備上看起來一樣大。   3.不同之處      px(像素)表示屏幕的真實像素,比如現在流行的1080P手機和2K手機,1080P手機就是1920x1080像素,也就是說這個手機的屏幕橫向有1080個像素,縱向有1920個像素。這個值是絕對的,是多少就是多少,不會改變。      sp(比例獨立像素),也就是說是與密度和字體縮放度無關的像素,主要用於字體的大小。      dip(設備獨立像素)這個是邏輯像素單位,其實就是dp。    
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved