導航:首頁 > 操作系統 > 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相關的資料

熱點內容
plc編程推薦什麼電腦 瀏覽:935
安卓最新什麼系統版本 瀏覽:193
甜顏app真人交友在哪裡下載 瀏覽:335
電腦里好亂很多文件夾都是空 瀏覽:352
數學一竅不通可以學模具編程嗎 瀏覽:270
退休程序員練字 瀏覽:693
海光伺服器什麼架構 瀏覽:138
戰斗命令要素 瀏覽:953
app上哪裡可以開鞋子盲盒 瀏覽:81
python多線程計劃 瀏覽:383
華為模擬加密門id禁卡 瀏覽:555
華為od伺服器廣播演算法 瀏覽:353
銀色球球解壓圖片 瀏覽:711
dtu遠傳設備如何連接伺服器 瀏覽:400
房子不解壓可以買賣嗎 瀏覽:764
割彈力球解壓 瀏覽:746
為什麼刺客信條梟雄解壓不動 瀏覽:418
360瀏覽器代理伺服器怎麼用 瀏覽:483
後置刀架編程都是負值嗎 瀏覽:535
ftp內部命令中 瀏覽:662