public static float dpiFromPx(int size, DisplayMetrics metrics){
float densityRatio = (float) metrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT;
return (size / densityRatio);
}
public static int pxFromDp(float size, DisplayMetrics metrics) {
return (int) Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
size, metrics));
}
public static int pxFromSp(float size, DisplayMetrics metrics) {
return (int) Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
size, metrics));
}
本文介绍了一个简单的Java方法,用于在不同的设备密度级别(如:160, 240, 320 dpi)下将像素(px)转换为密度独立像素(dp)和点(sp)。通过使用DisplayMetrics类,该方法能够计算出正确的转换比例,从而帮助开发者在不同分辨率的设备上实现一致的UI体验。

3570

被折叠的 条评论
为什么被折叠?



