0

現在、Android アプリケーション (ゲーム) を構築しています。すべての画像の ldpi、mdpi、および hdpi を作成しました (これらすべての画像のサイズは適切に計算されています)。

Samsung S3 でゲームをテストすると、以下のコードの値は 2.0 です。

getResources().getDisplayMetrics().density;

これは正しく、アプリケーションで使用されるすべての画像は drawable-hdpi フォルダーから自動的に選択されます。

ただし、Google Nexus One でアプリケーションをテストすると、上記のコードは (正しく) 1.5 と評価されますが、drawable-hdpi フォルダーの画像は引き続き自動的に選択されます。

参考までに、次の方法でビットマップをロードしています。

BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
bmpFactoryOptions.inScaled = false;
Bitmap exampleBitmap = BitmapFactory.decodeResource(gamePanel.getResources(), R.drawable.example, bmpFactoryOptions);

編集: 2 行目を削除しても問題は解決しません。

私は何か間違ったことをしていますか?もしそうなら、何?または、回避策はありますか?

よろしくお願いします。

4

2 に答える 2

4

Samsung Galaxy SIII は XHDPI デバイスです。

Nexus One は HDPI デバイスです。

参照:

http://blog.blundellapps.com/list-of-android-devices-with-pixel-density-buckets/

したがって、XHDPI リソースがないため、次に近い SIII (hdpi) を使用します。

于 2012-06-05T15:59:26.840 に答える
1

S3 (密度 2.0) が xhdpi であるのに対し、Nexus One (密度 1.5) は hdpi であることは確かです。1.0 は参照密度 (mdpi) です。最も可能性が高いのは、xhdpi リソースを提供していないために S3 が hdpi フォルダーにフォールバックし、Nexus One が hdpi フォルダーから正しくプルされていることです。

于 2012-06-05T15:56:19.823 に答える