web-dev-qa-db-ja.com

すべてのAndroid解像度の画像を準備するにはどうすればよいですか?

IOSでは、グラフィックの準備は簡単です。通常の画像(高さx幅)または@ 2x(高さ2倍x幅2倍)の網膜画像があります。

しかし、私はAndroidが初めてなので、Eclipseにはたくさんのdrawable- *フォルダーがあり、*は "hdpi"または "ldpi"または "mdpi"または "xhdpi"または "xxhdpi"になります。私の画像が各インスタンスで正しく見えるように、各ディスプレイの可能性を満たすために私がしなければならないことを誰かが非常に明確かつ簡単にリストすることはできますか?答えは、各「*」がリストされた箇条書きリストと、実行する必要があるものを含むサブ箇条書きリストになると思います。

また、Photoshopで作成し、マスター画像の品質を低下させるため、最高の密度と最大の寸法の画像から始めて作業を始めるという答えを本当に楽しみます。前もって感謝します!

27
Art Geigel

私はしばらく前にこのサイトからこれを手に入れました、それはまだ便利です

xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp
Generalised Dpi values for screens:

ldpi Resources for low-density (ldpi) screens (~120dpi)
mdpi Resources for medium-density (mdpi) screens (~160dpi). (This is the baseline density.)
hdpi Resources for high-density (hdpi) screens (~240dpi).
xhdpi Resources for extra high-density (xhdpi) screens (~320dpi).
Therefore generalised size of your resources (assuming they are full screen):

ldpi
Vertical = 426 * 120 / 160 = 319.5px
Horizontal = 320 * 120 / 160 = 240px
mdpi
Vertical = 470 * 160 / 160 = 470px
Horizontal = 320 * 160 / 160 = 320px
hdpi
Vertical = 640 * 240 / 160 = 960px
Horizontal = 480 * 240 / 160 = 720px
xhdpi
Vertical = 960 * 320 / 160 = 1920px
Horizontal = 720 * 320 / 160 = 1440px

px = dp*dpi/160
30
JRowan

Android StudioはFile -> New -> Image AssetそしてIDEから画像を作成します。

9
BigPun86

On Android通常、デバイスに依存しないピクセルを表す「dp」または「dip」の単位で画像サイズを処理します。mdpi画面では1 dip = 1ピクセル。通常と網膜だけでなく、さまざまな画面密度があるため、デバイスの画面が含まれるDPIバケットが複数あります。

  • ldpi(低dpi):約120 dpi
  • mdpi(中dpi):約160 dpi
  • hdpi(高dpi):約240 dpi
  • xhdpi(超高dpi):約320 dpi

これらはバケットであるため、170 dpiの画面を持つデバイスはmdpiデバイスとしてカウントされます。

PSにベクターベースの画像があり、Androidの画像リソースを作成する必要があり、これらすべての画面密度をサポートする必要があるとします。画像は100x100である必要があるとしましょうディップラージ。したがって、mdpiには100x100ピクセルバージョン、hdpiには150x150ピクセルバージョン、xhdpiには200x200、ldpiには75x75を作成します。Android as iOSの「通常-網膜」。

使用できる大きな画像サイズについては、私は本当に言えません。私の知る限り、ハード制限はありませんが、デバイスは明らかにヒープ制限のためにダウンサンプリングせずに20000x20000ビットマップをメモリにロードできません。

そのためのオンラインツールがあります Android Asset Studio また、EclipseにはFile | New | Android Icon Setもあります