web-dev-qa-db-ja.com

xxhdpi Androidのスケールファクタ?

http://developer.Android.com/training/multiscreen/screendensities.html

次のスケール係数が言及されています

xhdpi:2.0 hdpi:1.5 mdpi:1.0(ベースライン)ldpi:0.75

Xxhdpiのスケールファクターはどうなるのだろうと思っていましたか?

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 * 12 ->0.75
  • mdpi= 0.00625 * 16 ->1.0
  • hdpi= 0.00625 * 24 ->1.5
  • xhdpi= 0.00625 * 2 ->2.0
  • xxhdpi= 0.00625 * 48 ->3.0
  • xxxhdpi= 0.00625 * 64 ->4.0

ロケット科学ではありませんが、これが誰かに役立つことを願っています:)

272
ozbek

Metrics and Grids を見ると、xxhdpiは480 dpiであり、ベースラインの3倍(mdpi @ 1.0)であることがわかります。つまり、xxhdpiのスケール係数は3.0です

6
Squonk