/**
* px转dip
*
* @param context
* @param pxValue
* 转换前的值
* @return 转换后的值
*/
public static int px2dip(Context context, float pxValue) {
float f = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / f + 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);
}
Android 尺寸大小单位px和dip ,sp之间的互相转换
最新推荐文章于 2024-07-17 15:04:58 发布