基于Android中dp和px之間進(jìn)行轉(zhuǎn)換的實(shí)現(xiàn)代碼
在xml布局文件中,我們既可以設(shè)置px,也可以設(shè)置dp(或者dip)。一般情況下,我們都會(huì)選擇使用dp,這樣可以保證不同屏幕分辨率的機(jī)器上布局一致。但是在代碼中,如何處理呢?很多控件的方法中都只提供了設(shè)置px的方法,例如setPadding,并沒(méi)有提供設(shè)置dp的方法。這個(gè)時(shí)候,如果需要設(shè)置dp的話,就要將dp轉(zhuǎn)換成px了。
以下是一個(gè)應(yīng)用類(lèi),方便進(jìn)行px和dp之間的轉(zhuǎn)換。
import android.content.Context;
public class DensityUtil {
/**
* 根據(jù)手機(jī)的分辨率從 dp 的單位 轉(zhuǎn)成為 px(像素)
*/
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* 根據(jù)手機(jī)的分辨率從 px(像素) 的單位 轉(zhuǎn)成為 dp
*/
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
}
相關(guān)文章
Android自定義View實(shí)現(xiàn)漸變色進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)漸變色進(jìn)度條,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05Android RecyclerView的焦點(diǎn)記憶封裝
這篇文章主要介紹了Android RecyclerView的焦點(diǎn)記憶封裝,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04修改Android簽名證書(shū)keystore的密碼、別名alias以及別名密碼
這篇文章主要介紹了修改Android簽名證書(shū)keystore的密碼、別名alias以及別名密碼的相關(guān)資料,需要的朋友可以參考下2015-12-12Android編程簡(jiǎn)單實(shí)現(xiàn)雷達(dá)掃描效果
這篇文章主要介紹了Android編程簡(jiǎn)單實(shí)現(xiàn)雷達(dá)掃描效果,涉及Android圖形繪制及顯示的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10Android實(shí)現(xiàn)計(jì)時(shí)與倒計(jì)時(shí)的常用方法小結(jié)
這篇文章主要介紹了Android實(shí)現(xiàn)計(jì)時(shí)與倒計(jì)時(shí)的常用方法,總結(jié)并對(duì)比分析了幾種常用計(jì)時(shí)方法的特點(diǎn),具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10Android開(kāi)發(fā)實(shí)現(xiàn)Switch控件修改樣式功能示例【附源碼下載】
這篇文章主要介紹了Android開(kāi)發(fā)實(shí)現(xiàn)Switch控件修改樣式功能,涉及Android Switch開(kāi)關(guān)控件樣式設(shè)置與事件響應(yīng)相關(guān)操作技巧,需要的朋友可以參考下2019-04-04實(shí)例講解Android Fragment的兩種使用方法
今天小編就為大家分享一篇關(guān)于實(shí)例講解Android Fragment的兩種使用方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03