package com.yizhao.util;
import com.yizhao.core.Const;
import android.util.DisplayMetrics;
import android.util.Log;
/**
* 计算公式 pixels = dips * (density / 160)
*/
public class DensityUtil {
// 当前屏幕的densityDpi
private static float dmDensityDpi = 0.0f;
private static DisplayMetrics dm;
private static float scale = 0.0f;
/**
*
* 根据构造函数获得当前手机的屏幕系数
*
* */
public DensityUtil(DisplayMetrics _dm) {
// 获取当前屏幕
dm = _dm;
// 设置DensityDpi
dmDensityDpi = dm.densityDpi;
// 密度因子
scale = dmDensityDpi / 160;
}
/**
* 密度转换像素
* */
public int dip2px(float dipValue) {
int px = (int) (dipValue * scale + 0.5f);
Log.d(Const.TAG, "dip "+dipValue+" convert px = " + px);
return px;
}
/**
* 像素转换密度
* */
public int px2dip(float pxValue) {
return (int) (pxValue / scale + 0.5f);
}
}