我在計算一個像素的變換量,然後想定義獨立的像素密度。格式如下:
(px to dp): dp = (int)(px / (displayMetrics.densityDpi / 160));
但是不能運行,顯示的不能被0整除.
我用如下方法實現dp到px的轉換:
px = (int)(dp * (displayMetrics.densityDpi / 160));
大家能給我點指點嗎?不勝感激。
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}