0

その単純な私の疑い。アプリには4つのディレクトリ(ldpi、mdpi、hdpi、xhdpi)があり、画像は同じですが、dpiが異なります。mdpiの場合は160dpiで、1つはatmを使用しています。

Webからダウンロードした画像はどうなりますか?私はニュースリーダーを持っています、そしてそれはそれぞれの新しいものが少なくとも1つの画像を持っていることを意味します。そして、私はすべてのスマートフォンのためにまともなイメージを持ちたいです。

別の種類の画像が必要ですか、それともすべてに同じものをダウンロードするだけですか?特定のスマートフォンごとに最適な解像度を知ることはできますか?

これを処理する「公式の」方法が見つからなかったため、ダウンロードする予定の画像の重要なdpiかどうかわかりません。

よろしく!

4

2 に答える 2

2

ldpiは〜120dpiを意味し、mdpiは〜160dpiを意味し、hdpiは〜240dpiを意味します。xhdpiは〜320dpiを意味します。リソースのldpi:mdpi:hdpi:xhdpiの比率は3:4:6:8に従うことができます。

これで、すべての解像度で異なる画像を使用できるようになりました。これはより優れており、問題はないはずです。すべてに異なる画像を使用できない場合は、xhdpiとランタイムの画像を使用して、画面の解像度に応じて画像のサイズを変更できます。

以下のサンプルコードを使用して、実行時の画面解像度を知ることができます。

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch (metrics.densityDpi) {
case 120:
    //your stuff
break;
case 160:
    ////your stuff
    break;
case 240:
    ///your suff
    break;
case 320:
    //your stuff
    break;
}

ビットマップのサイズを変更するサンプルコード::

Bitmap mIcon_val = your bitmap;
Matrix matrix = new Matrix();   
matrix.postScale((float)newwidth/mIcon_val.getWidth(), (float)newheight/mIcon_val.getHeight()); 
Bitmap resizedBitmap = Bitmap.createBitmap(mIcon_val, 0, 0, mIcon_val.getWidth(),  mIcon_val.getHeight(), matrix, true);

これで、新しいビットマップの新しい幅と高さが使用できるようになりました。

于 2012-04-29T02:20:04.917 に答える
0

優れたアプリを作成したい場合は、適切なスマートフォンに合うようにすべての画像を管理する必要があります。すべての画像に同じ画像をダウンロードすると、見栄えが悪くなります。

詳細については、「 複数の画面のサポート」を参照してください。

于 2012-04-29T01:35:51.340 に答える