PX,DP,SP之間的關係

2021-07-24 21:41:04 字數 1887 閱讀 1708

ppi = pixels per inch,每英吋上的畫素數,即 "畫素密度"

drawable-ldpi、drawable-mdpi、drawable-hdpi 精度分別為低、中(android預設)、高。

對應的大小為:360x360、480x480、720x720。

xxhdpi: 1440*1440

xhdpi:960*960

hdpi:720*720

mdpi:480*480

ldpi:360*360

dp是虛擬畫素,在不同的畫素密度的裝置上會自動適配,比如:

在320x480解析度,畫素密度為160,1dp=1px

在480x800解析度,畫素密度為240,1dp=1.5px

計算公式:1dp*畫素密度/160 = 實際畫素數

drawable- hdpi、drawable- mdpi、drawable-ldpi的區別:

(1)drawable-hdpi裡面存放高解析度的,如wvga (480x800),fwvga (480x854)

(2)drawable-mdpi裡面存放中等解析度的,如hvga (320x480)

(3)drawable-ldpi裡面存放低解析度的,如qvga (240x320)

系統會根據機器的解析度來分別到這幾個資料夾裡面去找對應的。

ppi的運算方式是:

ppi = √(長度畫素數² + 寬度畫素數²) / 螢幕對角線英吋數

dp:density-independent pixels,以160ppi螢幕為標準,則1dp=1px,

dp和px的換算公式 :

dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。

sp:scale-independent pixels,它是安卓的字型單位,以160ppi螢幕為標準,當字型大小為 100%時, 1sp=1px。

sp 與 px 的換算公式:sp*ppi/160 = px

總結得出:

/** 

* dp、sp 轉換為 px 的工具類

* * @author fxsky 2012.11.12

* */

public class displayutil

/**

* 將dip或dp值轉換為px值,保證尺寸大小不變

* * @param dipvalue

* @param scale

* (displaymetrics類中屬性density)

* @return

*/

public static int dip2px(context context, float dipvalue)

/**

* 將px值轉換為sp值,保證文字大小不變

* * @param pxvalue

* @param fontscale

* (displaymetrics類中屬性scaleddensity)

* @return

*/

public static int px2sp(context context, float pxvalue)

/**

* 將sp值轉換為px值,保證文字大小不變

* * @param spvalue

* @param fontscale

* (displaymetrics類中屬性scaleddensity)

* @return

*/

public static int sp2px(context context, float spvalue)

}

類之間的關係

類之間的關係 內容 網上關於此類的討論非常多,發現對於該問題的理解各有各的說法,而各個說法中又相去甚遠。通過瀏覽這些討論以及對 的參考,發表一下自己的看法.類間關係有很多種,在大的類別上可以分為兩種 縱向關係 橫向關係。縱向關係就是繼承關係,它的概念非常明確,也成為oo的三個重要特徵之一,這裡不過多...

和之間的關係

1.0 簡介 本 簡要的 了xml和資料庫 之間的關係,同時列出一些可以使用資料庫處理xml文件的。雖然這裡不打算詳盡地介紹這些軟體,但是筆者希望它能夠描述使用資料庫處理xml文件中的主要部分。這裡有點偏向與 關聯式資料庫,因為我的經驗如此。2.0 xml是資料庫嗎?在開始討論xml和資料庫之前,我...

類之間的關係

類之間的關係 1 種類 generalization 泛化 dependency 依賴關係 association 關聯關係 aggregation 聚合關係 composition 合成關係 2 其中aggregation 聚合關係 composition 合成關係 屬於association 關...