Androidアプリを開発する際、ランチャーアイコンやウェジェットアイコンなどをいろいろな画像サイズで作らなければなりません。毎回作るたびにサイズを調べていたのでその内容をまとめてみました。

Android上の単位であるdpはmdpiのときのpx値

Androidではdp(dip)という単位が使われますが、これはmdpiのときのpx値になります。

たとえば20dpはmdpiでは20px, ldpiでは20 x 120 / 160 = 15pxと計算します。

Androidでは端末のDPIが区分に分けられる

Androidは端末の解像度が機種により多様であるため、mdpiやhdpiなど解像度が何種類かに区分分けされています。

ldpi  120dpi
mdpi  160dpi
 hdpi  240dpi
 xhdpi  320dpi
 xxhdpi  480dpi
 xxxhdpi  640dpi

ランチャーアイコンの画像サイズ

ランチャーアイコン(アプリ一覧に表示されるアイコン)のサイズは48x48dpとする必要があり、dpiの区分毎に画像を用意する必要があります。この中からアプリがインストールされた端末の区分の画像が自動的に使われます。

ldpi  36x36px
mdpi  48x48px
 hdpi  72x72px
 xhdpi  96x96px
 xxhdpi  144x144px
 xxxhdpi  192x192px

ステータスバーアイコンの画像サイズ

ステータスバーに何かを表示するアプリの場合、ステータスバーのアイコンは24x24dpとする必要があり、dpiの区分毎に画像を用意する必要があります。

ldpi  18x18px
mdpi  24x24px
 hdpi  36x36px
 xhdpi  48x48px
 xxhdpi  72x72px
 xxxhdpi  96x96px

ウェジェットアイコンの画像サイズ

Androidの画面はマス目(セル状)になっており、使用するセル数をnとすると(70 x n – 30)dpが画像サイズの目安になります。

例えば横3 x 縦2のウィジェットとする場合は、180dp x 110dpとなります。

ウェジェットについてはここが参考になります。