結合テストの段階で実機でViewのマージンや幅がコード上で設定したpxの値になっているかどうか確認することがあり、その確認をするためのメモ
より良いプラクティスあれば教えてください
実機で動作確認したものを実測で測る
GIMPやMac/Windows標準の画像プレビュー機能を使って距離を測る (距離
D
とする)-
距離Dは端末解像度によって依存するので、動作確認している端末がどの解像度か確認する
- 参考程度にau端末のデータ
解像度の値を参照して160 (mdpiの解像度)で割り算 (倍率
R
とする)D/R
がコード上で設定したpxと一致していればok-
例
- コード上であるViewのマージンを30pxとしていてそれが実機でそうなっているのか確認したい
- 端末はXXhdpi(480)
- R = 480 / 160 = 3
- そのため画像からの実測値では 30px * 3 = 90px となっていれば良いことになる
おまけ
dpからpxへの変換
fun convertToPx(context: Context, dp:Float) : Float {
val metrics: DisplayMetrics = context.resources.displayMetrics
return dp * metrics.density
}