En Android.util.DisplayMetrics Vous pouvez voir que le facteur d'échelle est 0.00625 :
/**
* Scaling factor to convert a density in DPI units to the density scale.
* @hide
*/
public static final float DENSITY_DEFAULT_SCALE = 1.0f / DENSITY_DEFAULT;
Où comme DENSITÉ_DÉFAUT est de 160 --> facteur d'échelle = 1.0f / 160 = 0.00625.
sizeScale = DENSITY_DEFAULT_SCALE * DENSITY_DPI
A partir de là :
-
ldpi \= 0.00625 * 120 -> 0.75
-
mdpi \= 0.00625 * 160 -> 1.0
-
hdpi \= 0.00625 * 240 -> 1.5
-
xhdpi \= 0.00625 * 320 -> 2.0
-
xxhdpi \= 0.00625 * 480 -> 3.0
-
xxxhdpi \= 0.00625 * 640 -> 4.0
Ce n'est pas vraiment une science exacte, mais j'espère que cela sera utile à quelqu'un :)