<supports-screens>

書式:
<supports-screens android:smallScreens=["true" | "false"] 
                  android:normalScreens=["true" | "false"] 
                  android:largeScreens=["true" | "false"] 
                  android:anyDensity=["true" | "false"] />
親要素:
<manifest>
説明:
アプリケーションのサポートする画面サイズを指定出来ます。デフォルトで、最近作成されたアプリケーション(APIレベル4以上をターゲットとするもの)は全ての画面サイズをサポートし、特定の画面サイズのみをサポートから除外指定する必要があります。古いアプリケーションは"normal"画面サイズのみをサポートすると推定されます。なお、ここでの画面サイズとは画面解像度に依存しないピクセル数を意味します。解像度調整後にアプリケーションの利用可能なピクセル数が画面サイズとして扱われます。

ターゲットデバイスの画面解像度情報に基づいてAndroidプラットフォームは各要素のサイズ調整を行います。具体的には、低dpiの画面においては0.75倍のサイズに、高dpiの画面においては1.5倍といった調整を加えます。画面解像度はdpi(1インチあたりのドット数)で表現されます。

サポートされている解像度:

  • 低解像度: 120 dpi
  • 中解像度: 160 dpi
  • 高解像度: 240 dpi

画面タイプ一覧:

低解像度中解像度高解像度
小規模画面 QVGA n/a VGA
中規模画面 WQVGA HVGA WVGA, FWVGA
大規模画面 n/a VGA, WVGA, FWVGA n/a
属性:
android:smallScreens
アプリケーションが小規模画面を持つデバイスをサポートするか否かを指定します。ここでの小規模画面とは、通常の画面(HVGA; 320x480 / 640x240)よりも小さなものを指します。小さな画面をサポートしないアプリケーションは、これらのデバイス上で実行出来ません。これは、プラットフォーム側でアプリケーションを小さな画面で動作させるために出来る調整には限りがあるためです。APIレベル4以上をターゲットとするアプリケーションでは、この値はデフォルトで"true"となり、それ以外のアプリケーションでは"false"となります。
android:normalScreens
アプリケーションが中規模画面を持つデバイスをサポートするか否かを指定します。この指定は従来HVGAを意味するものでしたが、低解像度WQVGAと高解像度WVGAの画面も含みます。このオプションはデフォルトで"true"であり、アプリケーション側で上書きの必要はありません。
android:largeScreens
アプリケーションが大規模画面を持つデバイスをサポートするか否かを指定します。大規模画面とは、前述のnormalScreensに該当する通常の電話画面よりも明らかに大きなものを意味します。この場合、アプリケーション側で適切な画面の使い方に注意を払った実装が必要となります。大規模画面をサポートしないアプリケーションを実行すると、画面に切手を貼ったような額縁付きの状態で元指定の画面サイズにて表示されます。APIレベル4以上をターゲットとするアプリケーションではデフォルトで"true"となっており、それ以外では"false"となります。
android:anyDensity
アプリケーションがどのような画面解像度でも動作出来ることを意味します。APIレベル4以前をターゲットとするアプリケーションは全画面解像度に対応出来ないと推定されるため、この値はデフォルトで"false"となります。APIレベル4以上をターゲットとするアプリケーションではデフォルト値が"true"と推定されます。もちろん、この指定によりデフォルト値を上書き出来ます。
導入されたAPIレベル:
API Level 4
関連: