Коэффициент масштабирования для Android xxhdpi?
В соответствии с http://developer.android.com/training/multiscreen/screendensities.html
Упоминаются следующие масштабные факторы
HDPI: 2,0 HDP: 1,5 MDI: 1,0 (базовый уровень) LDI: 0,75
Мне было интересно, что масштабный коэффициент будет для XXXDPI?
2 ответа
Решение
В android.util.DisplayMetrics вы можете видеть, что коэффициент масштабирования равен 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;
Где DENSITY_DEFAULT - 160 -> коэффициент масштабирования = 1,0f / 160 = 0,00625.
sizeScale = DENSITY_DEFAULT_SCALE * DENSITY_DPI
Из этого:
- 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
Не совсем ракетостроение, но надеюсь, это кому-нибудь пригодится:)
Если вы посмотрите на метрики и сетки, вы увидите, что xxhdpi составляет 480 точек на дюйм, что в 3 раза превышает базовый уровень (mdpi @ 1.0). Другими словами, масштабный коэффициент для xxhdpi составляет 3,0