/**
* 屏幕的尺寸及不同单位之间的转换
* Created by travis on 2016/4/18.
*/
public class DensityUtil {
/**
* 屏幕的高度(px)
* @param context
* @return
*/
public static final float getHeightInPx(Context context) {
final float height = context.getResources().getDisplayMetrics().heightPixels;
return height;
}
/**
* 屏幕的宽度(px)
* @param context
* @return
*/
public static final float getWidthInPx(Context context) {
final float width = context.getResources().getDisplayMetrics().widthPixels;
return width;
}
/**
* 屏幕的高度(dp)
* @param context
* @return
*/
public static final int getHeightInDp(Context context) {
final float height = context.getResources().getDisplayMetrics().heightPixels;
int heightInDp = px2dip(context, height);
return heightInDp;
}
/**
* 屏幕的宽度(dp)
* @param context
* @return
*/
public static final int getWidthInDp(Context context) {
final float height = context.getResources().getDisplayMetrics().heightPixels;
int widthInDp = px2dip(context, height);
return widthInDp;
}
/**
* dp to px
* @param context
* @param dpValue
* @return
*/
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* px to 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);
}
/**
* px to sp
* @param context
* @param pxValue
* @return
*/
public static int px2sp(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
/**
* sp to px
* @param context
* @param spValue
* @return
*/
public static int sp2px(Context context, float spValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (spValue * scale + 0.5f);
}
}