/**
* DP, SP conversion to PX tool class
*
* @author Fxsky 2012.11.12
*
*/
public class Displayutil {
/**
* Convert PX value to dip or DP value to ensure size unchanged
*
* @param pxvalue
* @param scale
* (attribute density in Displaymetrics Class)
* @return
*/
public static int Px2dip (context context, float Pxvalue) {
Final float scale = context.getresources (). Getdisplaymetrics (). density;
return (int) (Pxvalue/scale + 0.5f);
}
/**
* Convert dip or DP values to PX values to ensure size is constant
*
* @param dipvalue
* @param scale
* (attribute density in Displaymetrics Class)
* @return
*/
public static int dip2px (context context, float Dipvalue) {
Final float scale = context.getresources (). Getdisplaymetrics (). density;
return (int) (Dipvalue * scale + 0.5f);
}
/**
* Convert PX value to SP value, keep text size unchanged
*
* @param pxvalue
* @param Fontscale
* (Attribute scaleddensity in Displaymetrics Class)
* @return
*/
public static int PX2SP (context context, float Pxvalue) {
Final float Fontscale = context.getresources (). Getdisplaymetrics (). scaleddensity;
return (int) (Pxvalue/fontscale + 0.5f);
}
/**
* Convert SP value to PX value, keep text size unchanged
*
* @param spvalue
* @param Fontscale
* (Attribute scaleddensity in Displaymetrics Class)
* @return
*/
public static int sp2px (context context, float Spvalue) {
Final float Fontscale = context.getresources (). Getdisplaymetrics (). scaleddensity;
return (int) (Spvalue * fontscale + 0.5f);
}
}
Tool class for DP, SP conversion to px