不啰嗦看代码
public class DensityUtil {
private DensityUtil() {
throw new UnsupportedOperationException("cannot be instantiated");
}
public static int dp2px(Context context, float dp) {
float density = context.getResources().getDisplayMetrics().density;
return (int)(dp * density + 0.5F);
}
public static int px2dp(Context context, float px) {
float density = context.getResources().getDisplayMetrics().density;
return (int)(px / density + 0.5F);
}
public static int sp2px(Context context, float sp) {
float scaledDensity = context.getResources().getDisplayMetrics().scaledDensity;
return (int)(sp * scaledDensity + 0.5F);
}
public static int px2sp(Context context, float px) {
float scaledDensity = context.getResources().getDisplayMetrics().scaledDensity;
return (int)(px / scaledDensity + 0.5F);
}
}