4

res/drawables 画像がさまざまな画面密度でどのように機能するかを理解しようとしています。現在、1.5 のアプリを持っています。たとえば、100x100 ピクセルの画像があります。Droid で使用すると、この画像がそのデバイス上で相対的に同じサイズに見えるようにスケーリングされます (他のすべてのレイアウト スケーリングは、ディップ ユニットを使用して私が処理します)。

それでは、プロジェクトを更新して 3 つのフォルダーを追加する必要がありますよね?:

  1. drawable-ldpi
  2. drawable-mdpi
  3. ドローアブル hdpi

そのため、100x100 の画像を -mdpi フォルダーに入れます。-hdpi フォルダーのバージョンを作成したい場合、どれだけ大きくするかをどのように知ることができますか? つまり、デフォルトでは 1.5 倍大きくなるはずです。しかし、2.0 倍大きくした場合、または実行しているデバイスの密度がベースライン G1 の 1.5 倍でない場合はどうなりますか? これらのデバイスでレイアウトが異なって見えることはありませんか?

ありがとう

4

3 に答える 3

12

ldpi、mdpi、および hdpi は、デバイスの実際の密度ではなく、密度の「クラス」に対応します。

たとえば、G1 は mdpi クラスのデバイス (160dpi) ですが、実際の画面密度は約 180dpi です。ドロイドは hdpi クラスのデバイス (240dpi) ですが、画面は 265dpi です。

ビットマップのスケーリングは、密度クラスのみに基づいています。実際の画面密度は無視されます。

そのため、G1 は真の 160dpi 画面を備えた mdpi デバイスよりもわずかに小さい mdpi ビットマップを表示しますが、これは非常に小さな違いであるため、大した問題ではありません。

(「in」や「mm」などの他の寸法タイプでは、画面密度が考慮されることに注意してください。)

したがって、密度には、ldpi (120)、mdpi (160)、および hdpi (240) の 3 つの選択肢があります。したがって、100x100 ビットマップは、それぞれ 75x75、100x100、および 150x150 である必要があります。

詳細については、http: //developer.android.com/guide/practices/screens_support.html#qualifiersを参照してください。

于 2009-12-23T09:44:46.893 に答える
1

動作は、マニフェストで宣言されている内容、特にマニフェスト内のタグによっても異なります (ADT のマニフェスト エディターの最初のタブにある「マニフェスト エクストラ」を使用して構成できます)。

于 2009-12-17T17:45:09.577 に答える
1

可能なすべての画面サイズを確実にカバーすることはできません。ただし、レイアウトがアイテムを自動的に配置する場合は、画像の絶対サイズを dip の代わりに px で設定できます。

(ldpi/mdpi/hdpi) の代わりに (small/normal/large) を使用することもできます。前者は密度ではなく画面サイズを参照するためです。リソース ディレクトリ修飾子

于 2009-12-17T16:05:26.817 に答える