ブログBlog
基準dpiからずれた端末
投稿日:2017年10月27日
ヌノです。
Android端末で画面サイズ、解像度(ピクセル)が同じ端末ですが、表示のされかたが異なるという現象に遭遇しましたので、備忘録として・・・
原因は画面密度(DPI)が異なっていた事によって画面表示が異なっていました。
オブジェクトのサイズは表示座標等を指定する際に通常はdp(density-independent pixels)で指定します。
dpで指定する事によって解像度や画面サイズが異なる端末でも、同じサイズで表示されるようになる為です。
px(pixel)で指定も可能ですが、解像度に依存してしまう為、解像度に依存して画面に表示されるよういなります。
px指定の場合、解像度に応じてサイズが変わる為、一見すべての画面に奇麗に表示されるように思えますが、
小さい画面でボタンが極端に小さくなって見辛くなったりします。
dp指定の場合は、解像度に依存しない為、同じサイズで表示されます。(但し、dpiが基準dpiの端末に限る)
注意点としては、大きい画面サイズに合わせて設定すると小さい画面で表示した時に画面内に収まらなくなります。
今まであまり意識していませんでしたが、基準dpiからずれている端末に惑わされた結果となりました。
因に、アプリ内でResources の DisplayMetricsを書き換える事によって、擬似的にDPIの値を変更する事が可能ですが、
Android7から設定画面である程度変更できるので、アプリ内で対処する機会は少ないと思います。