Android单位转换工具类
Android单位转换工具类主要由以下4部分构成
1.这个类不能被初始化
2.dip转px接口
3.sp转px接口
4.px转dip接口
代码如下:
import android.content.Context;
import android.util.TypedValue;
/**
* Android单位转换工具类
*
* @author joyliu
*/
public class DensityUtil {
/**
* 不能初始化这个类
*/
private DensityUtil() {
throw new IllegalStateException("Do not instance”);
}
/**
* dip转换px
*
* @param context 上下文
* @param dpValue dip值
* @return px值
*/
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* sp转pd
*
* @param context 上下文
* @param spValue sp值
* @return px值
*/
public static int sp2px(Context context, float spValue) {
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, spValue,
context.getResources().getDisplayMetrics());
}
/**
* px转换dip
*
* @param context 上下文
* @param pxValue px值
* @return dip值
*/
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
}