In an XML layout file, we can set either PX or a DP (or dip). In general, we would choose to use a DP, which would ensure a consistent layout on a machine with different screen resolutions. But in the code, how do you handle it? Many control methods provide only methods for setting PX, such as setpadding, and do not provide a way to set up a DP. At this point, if you need to set up a DP, you will convert the DP to PX.
The following is an application class to facilitate the conversion between PX and DP.
Copy Code code as follows:
Import Android.content.Context;
public class Densityutil {
/**
* Change from DP unit to PX (pixel) According to the resolution of the mobile phone
*/
public static int dip2px (context context, float Dpvalue) {
Final float scale = context.getresources (). Getdisplaymetrics (). density;
return (int) (Dpvalue * scale + 0.5f);
}
/**
* According to the resolution of the mobile phone from px (pixel) units to become DP
*/
public static int Px2dip (context context, float Pxvalue) {
Final float scale = context.getresources (). Getdisplaymetrics (). density;
return (int) (Pxvalue/scale + 0.5f);
}
}