public class DisplayTool {
//要根据实际情况获取到上下文Context,也可以在方法中加入context作为参数
private static final float density = context.getResources().getDisplayMetrics().density;
private static final float scaledDensity =context.getResources().getDisplayMetrics().scaledDensity;
/**
* 将px值转换为dip或dp值,保证尺寸大小不变
*/
public static int px2dip(float pxValue) {
return (int) (pxValue / density + 0.5f);
}
/**
* 将dip或dp值转换为px值,保证尺寸大小不变
*/
public static int dip2px(float dipValue) {
return (int) (dipValue * density + 0.5f);
}
/**
* 将px值转换为sp值,保证文字大小不变
*/
public static int px2sp(float pxValue) {
return (int) (pxValue / scaledDensity + 0.5f);
}
/**
* 将sp值转换为px值,保证文字大小不变
*/
public static int sp2px(float spValue) {
return (int) (spValue * scaledDensity + 0.5f);
}
}
//要根据实际情况获取到上下文Context,也可以在方法中加入context作为参数
private static final float density = context.getResources().getDisplayMetrics().density;
private static final float scaledDensity =context.getResources().getDisplayMetrics().scaledDensity;
/**
* 将px值转换为dip或dp值,保证尺寸大小不变
*/
public static int px2dip(float pxValue) {
return (int) (pxValue / density + 0.5f);
}
/**
* 将dip或dp值转换为px值,保证尺寸大小不变
*/
public static int dip2px(float dipValue) {
return (int) (dipValue * density + 0.5f);
}
/**
* 将px值转换为sp值,保证文字大小不变
*/
public static int px2sp(float pxValue) {
return (int) (pxValue / scaledDensity + 0.5f);
}
/**
* 将sp值转换为px值,保证文字大小不变
*/
public static int sp2px(float spValue) {
return (int) (spValue * scaledDensity + 0.5f);
}
}