不多说,直接存储代码
public
class
DisplayUtil {
/**
* 将px值转换为dip或dp值,保证尺寸大小不变
*
* @param pxValue
* @param scale
* (DisplayMetrics类中属性density)
* @return
*/
public
static
int
px2dip(Context context,
float
pxValue) {
final
float
scale = context.getResources().getDisplayMetrics().density;
return
(
int
) (pxValue / scale +
0
.5f);
}
/**
* 将dip或dp值转换为px值,保证尺寸大小不变
*
* @param dipValue
* @param scale
* (DisplayMetrics类中属性density)
* @return
*/
public
static
int
dip2px(Context context,
float
dipValue) {
final
float
scale = context.getResources().getDisplayMetrics().density;
return
(
int
) (dipValue * scale +
0
.5f);
}
/**
* 将px值转换为sp值,保证文字大小不变
*
* @param pxValue
* @param fontScale
* (DisplayMetrics类中属性scaledDensity)
* @return
*/
public
static
int
px2sp(Context context,
float
pxValue) {
final
float
fontScale = context.getResources().getDisplayMetrics().scaledDensity;
return
(
int
) (pxValue / fontScale +
0
.5f);
}
/**
* 将sp值转换为px值,保证文字大小不变
*
* @param spValue
* @param fontScale
* (DisplayMetrics类中属性scaledDensity)
* @return
*/
public
static
int
sp2px(Context context,
float
spValue) {
final
float
fontScale = context.getResources().getDisplayMetrics().scaledDensity;
return
(
int
) (spValue * fontScale +
0
.5f);
}
}