Scale factor for xxhdpi android?

AndroidAndroid Screen-Support

Android Problem Overview


according to http://developer.android.com/training/multiscreen/screendensities.html

The following scale factors are mentioned

xhdpi: 2.0 hdpi: 1.5 mdpi: 1.0 (baseline) ldpi: 0.75

I was wondering what the scale factor would be for xxhdpi?

Android Solutions


Solution 1 - Android

In android.util.DisplayMetrics, you can see that scaling factor is 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;

Where as DENSITY_DEFAULT is 160 --> scaling factor = 1.0f / 160 = 0.00625.

sizeScale = DENSITY_DEFAULT_SCALE * DENSITY_DPI

From this:

  • 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

Not exactly a rocket science, but hope this will be useful for someone :)

Solution 2 - Android

If you look at Metrics and Grids you'll see that xxhdpi is 480 dpi which is 3 times that of the baseline (mdpi @ 1.0). In other words the scale factor for xxhdpi is 3.0

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMuhammad Ahmed AbuTalibView Question on Stackoverflow
Solution 1 - AndroidozbekView Answer on Stackoverflow
Solution 2 - AndroidSquonkView Answer on Stackoverflow