개발/Android

dp px 변환

leebera_ 2022. 2. 19. 01:07

px = dp * density(기기dpi / 160dpi)

dp = px / density(기기dpi / 160dpi)

public int dpToPx(int dp) {
    return Math.round(dp * (getResources().getDisplayMetrics().xdpi / DisplayMetrics.DENSITY_DEFAULT));
}

public float dpToPx(float dp) {
    return dp * getResources().getDisplayMetrics().density;
}

public int pxToDp(int px) {
    return Math.round(px / (getResources().getDisplayMetrics().xdpi / DisplayMetrics.DENSITY_DEFAULT));
}

public float pxToDp(float px) {
    return px / getResources().getDisplayMetrics().density;
}

 

DisplayMetrics.DENSITY_DEFAULT는 160으로 초기화 되어있음