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

熱點內容
qdim命令使用 瀏覽:873
截圖R命令 瀏覽:654
基於單片機的智能台燈設計 瀏覽:685
多餘app是怎麼兌換皮膚的 瀏覽:552
sql資料庫查詢表命令 瀏覽:551
簡單音樂網站源碼 瀏覽:644
運動健康app華為手錶怎麼連接 瀏覽:748
肌肉塑造全書pdf下載 瀏覽:796
安卓簡約拼圖用什麼軟體好 瀏覽:289
fx1n加密程序 瀏覽:844
淘客阿里雲伺服器 瀏覽:476
100壓縮打造 瀏覽:422
安卓手機怎麼和蘋果平板傳文件 瀏覽:973
開始選項卡中的頁眉和頁腳命令選項 瀏覽:424
pdf的字體怎麼改 瀏覽:856
python讀寫視頻 瀏覽:88
科魯茲壓縮機軸承 瀏覽:353
word文檔轉換成pdf文件找不到 瀏覽:27
組件注冊命令 瀏覽:760
安卓大屏導航用的是什麼運放 瀏覽:443