单位转化 dp px sp
package com.example.administrator.success;
import android.content.Context;
/**
* dp、sp 转换为 px 的工具类
*/
public class DisplayUitl {
/**
* 将px值转换为dip或者dp值,保证尺寸大小不变
* @param context
* @param pxValue
* @return
*/
public static int px2dip(Context context, float pxValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(pxValue / scale + 0.5f);//0.5f是为了四舍五入
}
/**
* 将dip或者dp值转换为px值,保证尺寸大小不变
* @param context
* @param dipValue
* @return
*/
public static int dip2px(Context context, float dipValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(dipValue * scale + 0.5f);//0.5f是为了四舍五入
}
/**
* 将px值转换为sp值,保证文字大小不变
* @param context
* @param pxValue
* @return
*/
public static int px2sp(Context context, float pxValue){
final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
return (int)(pxValue / fontScale + 0.5f);//0.5f是为了四舍五入
}
/**
* 将sp值转换为px值,保证文字大小不变
* @param context
* @param spValue
* @return
*/
public static int sp2px(Context context, float spValue){
final float fontScale = context.getResources().getDisplayMetrics().density;
return (int)(spValue * fontScale + 0.5f);//0.5f是为了四舍五入
}
}