画面サイズとピクセル密度を混ぜていると思います:
開発ガイドから:
- プラットフォームは、必要に応じて、サイズと密度に固有のリソースを提供できる一連のリソース修飾子をサポートしています。サイズ固有のリソースの修飾子は、、、、
small
およびです。密度固有のリソースは、(低)、(中)、(高)、および(超高) です。修飾子は、上記の「サポートされる画面の範囲」で説明されている一般化された密度に対応しています。normal
large
xlarge
ldpi
mdpi
hdpi
xhdpi
- このプラットフォームには、アプリケーションがサポートする一般化された画面サイズを指定できる属性、、、および
<supports-screens>
マニフェスト要素も用意されています。別の属性 android:anyDensity を使用すると、アプリケーションに複数の密度のサポートが組み込まれているかどうかを示すことができます。android:smallScreens
android:normalScreens
android:largeScreens
android:xlargeScreens
編集:私のコメントを応答に追加しました。
コメントの例を使用すると、Archos は 7 インチの画面で、Nexus One は 3.7 インチの画面です。同じピクセル数で、Nexus One のピクセル密度は 2 倍です。dpi は 1 インチあたりのドット数を意味することを覚えておいてください。つまり、同じ画像が Archos では Nexus One よりも 2 倍大きくレンダリングされるということです。
画面サイズの違いはレイアウトで処理する必要があります。res/layout-normal
Nexus One とres/layout-large
Archos に使用します。このようにして、さまざまな画面サイズの完全なレイアウトを制御し (Archos で不必要に大きくなるウィジェットを制限する必要があるかもしれません)、ドローアブルの固定サイズを維持するか、拡張するかを決定します。必要。
または、画面サイズに関係なく、イメージを引き伸ばすことなくサイズを画面に比例させたい場合は、image1-normal.png、image2-normal.png、および image1-large.png という 2 つのイメージ セットを作成できます。およびの xml ファイルからアクセスする、res/drawable-mdpi
およびフォルダの両方にある image2-large.pngなど。res/drawable-hdpi
res/layout-normal
res/layout-large
要約すると、すべての要件は、レイアウトとドローアブルの組み合わせで処理する必要があります。
- ネクサス ワン:
layout-normal
,drawable-hdpi
- アルコス 7 :
layout-large
,drawable-mdpi
- ズーム:
layout-xlarge
,drawable-mdpi