導航:首頁 > 操作系統 > androidpx轉dip

androidpx轉dip

發布時間:2024-11-28 14:29:44

android中dp和px之間如何進行轉換

在Android開發中常用到px,in,mm,pt,dp,dip,sp這幾個單位px :是屏幕的像素點in :英寸mm :毫米pt :磅,1/72 英寸dp :一個基於density的抽象單位,如果一個160dpi的屏幕,1dp=1pxdip :等同於dpsp :同dp相似,但還會根據用戶的字體大小偏好來縮放。

❷ px、dp、sp、dpi之間的區別和轉換

px、dp、sp、dpi之間的區別和轉換

區別:

px (pixels)像素 -- 是像素,就是屏幕上實際的像素點單位。(一般UI人員在ps中經常使用)

dp/dip 設備獨立像素,android layout經常使用的尺寸單位,與設備屏幕有關,dp是虛擬像素,在不同的像素密度的設備上會自動適配。即與像素密度無關。

sp 放大像素,主要是處理字體的大小

dpi:Android支持四種不同的dpi模式:ldpi mdpi hdpi xhdpi

hdpi裡面存放高解析度的圖片,如WVGA (480x800),FWVGA (480x854)

mdpi裡面存放中等解析度的圖片,如HVGA (320x480)

ldpi裡面存放低解析度的圖片,如QVGA (240x320)

轉換:

a.首先了解常見的解析度Resolution:

解析度:指手機屏幕垂直和水平方向上的像素個數。比如解析度是480*320,則指設備垂直方向有480個像素點,水平方向有320個像素點。

VGA 顯示繪圖矩陣 640×480

HVGA half 480×320

QVGA quarter 320x240

b.dpi像素密度,指每英寸中的像素數,該值對應於DisplayMetrics類中屬性densityDpi的值

(例子:設備解析度為320*240,屏幕長2英寸寬1.5英寸 dpi=320/2=240/1.5=160)

c.density屏幕密度,指每平方英寸中的像素數,在DisplayMetrics類中屬性density的值為dpi/160(用這個進行dp sp之間的轉化)

如圖:

d.px 和 dp 互轉換

計算公式:實際像素數px=1dp*像素密度(dpi)/160 =dp*density

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

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

/**

* 根據手機的解析度從 dp 的單位 轉成為 px(像素)

*/

public static int dip2px(Context context, float dpValue) {

final float scale = context.getResources().getDisplayMetrics().density;

return (int) (dpValue * scale + 0.5f);

}

/**

* 根據手機的解析度從 px(像素) 的單位 轉成為 dp

*/

public static int px2dip(Context context, float pxValue) {

final float scale = context.getResources().getDisplayMetrics().density;

return (int) (pxValue / scale + 0.5f);

}

閱讀全文

與androidpx轉dip相關的資料

熱點內容
堅朗內開內倒鋁條演算法 瀏覽:256
華為閱讀新建文件夾 瀏覽:768
幻塔如何選擇伺服器 瀏覽:219
解壓先把文件壓到系統盤 瀏覽:822
access壓縮和修復資料庫 瀏覽:789
光纖交換機命令 瀏覽:511
白色桌放什麼文件夾 瀏覽:292
分治演算法思想 瀏覽:149
s曲線加減速演算法 瀏覽:400
可編程序控制器原理及應用答案 瀏覽:455
小熊編程教程 瀏覽:909
word轉換成pdf轉換器免費下載 瀏覽:609
群體智能基本演算法 瀏覽:371
可編程軟體分為哪兩種 瀏覽:341
格林什麼app可以看 瀏覽:698
飛盧app仙俠熱賣推薦怎麼樣 瀏覽:723
飛秋上傳文件到共享文件夾 瀏覽:692
伺服器的共享文件夾如何訪問 瀏覽:233
復盛螺桿壓縮機講解 瀏覽:333
柱在基礎插筋需要加密嗎 瀏覽:81