compatible-screens-element.jd revision ae7067f58dcd1325c520d15d08a383187476da26
11b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainpage.title=<compatible-screens>
22a1b706ec11e53689a2f86cc8e558e74591b462aScott Mainparent.title=The AndroidManifest.xml File
32a1b706ec11e53689a2f86cc8e558e74591b462aScott Mainparent.link=manifest-intro.html
41b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main@jd:body
51b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main
61b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<dl class="xml">
71b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<dt>syntax:</dt>
81b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<dd>
91b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<pre>
101b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main&lt;<a href="#compatible-screens">compatible-screens</a>&gt;
111b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main    &lt;<a href="#screen">screen</a> android:<a href="#screenSize">screenSize</a>=["small" | "normal" | "large" | "xlarge"]
121b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main            android:<a href="#screenDensity">screenDensity</a>=["ldpi" | "mdpi" | "hdpi" | "xhdpi"] /&gt;
131b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main    ...
141b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main&lt;/compatible-screens&gt;
151b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main</pre>
161b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main</dd>
171b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main
181b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<dt>contained in:</dt>
191b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<dd><code><a
201b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainhref="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code></dd>
211b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main
221b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<dt>description:</dt>
231b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<dd>Specifies each screen configuration with which the application is compatible. Only one instance
241b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainof the {@code &lt;compatible-screens&gt;} element is allowed in the manifest, but it can
251b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Maincontain multiple <code>&lt;screen&gt;</code> elements. Each <code>&lt;screen&gt;</code> element
261b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainspecifies a specific screen size-density combination with which the application is compatible.
271b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main
281b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main  <p>The Android system <em>does not</em> read the {@code &lt;compatible-screens&gt;} manifest
291b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainelement (neither at install-time nor at runtime). This element is informational only and may be used
301b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainby external services (such as Android Market) to better understand the application's compatibility
311b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainwith specific screen configurations and enable filtering for users. Any screen configuration that is
321b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<em>not</em> declared in this element is a screen with which the application is <em>not</em>
331b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Maincompatible. Thus, external services (such as Android Market) should not provide the application to
341b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Maindevices with such screens.</p>
351b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main
361b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main  <p class="caution"><strong>Caution:</strong> Normally, <strong>you should not use this manifest
371b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainelement</strong>. Using this element can dramatically reduce the potential user base for your
381b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainapplication, by not allowing users to install your application if they have a device with a screen
391b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainconfiguration that you have not listed. You should use it only as a last resort, when the
401b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainapplication absolutely does not work with all screen configurations. Instead of using this element,
411b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainyou should follow the guide to <a href="{@docRoot}guide/practices/screens_support.html">Supporting
421b6dd05927bf381f8a912447dfb79f49b60b9d03Scott MainMultiple Screens</a>, in order to provide complete support for multiple screens, by adding
431b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainalternative resources for different screen sizes and densities.</p>
441b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main
451b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main  <p>If you want to set only a minimum screen <em>size</em> for your your application, then you
461b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainshould use the <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html">{@code
471b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main&lt;supports-screens&gt;}</a> element. For example, if you want your application to be available
481b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainonly for <em>large</em> and <em>xlarge</em> screen devices, the <a
491b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainhref="{@docRoot}guide/topics/manifest/supports-screens-element.html">{@code
501b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main&lt;supports-screens&gt;}</a> element allows you to declare that your application does not
511b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainsupport <em>small</em> and <em>normal</em> screen sizes. External services (such as Android
521b6dd05927bf381f8a912447dfb79f49b60b9d03Scott MainMarket) will filter your application accordingly. You can also use the <a
531b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainhref="{@docRoot}guide/topics/manifest/supports-screens-element.html">{@code
541b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main&lt;supports-screens&gt;}</a> element to declare whether the system should resize your
551b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainapplication for different screen sizes.</p>
561b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main
571b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main  <p>Also see the <a href="{@docRoot}guide/appendix/market-filters.html">Market Filters</a>
581b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Maindocument for more information about how Android Market filters applications using this and
591b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainother manifest elements.</p>
601b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main
611b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main</dd>
621b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main
631b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<dt>child elements:</dt>
641b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<dd>
651b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main  <dl class="tag-list">
661b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main
671b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main    <dt id="screen">{@code &lt;screen&gt;}</dt>
681b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main    <dd>Specifies a single screen configuration with which the application is compatible.
691b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main      <p>At least one instance of this element must be placed inside the {@code
701b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main&lt;compatible-screens&gt;} element. This element <em>must include both</em> the {@code
711b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainandroid:screenSize} and {@code android:screenDensity} attributes (if you do not declare both
721b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainattributes, then the element is ignored).</p>
731b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main
741b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main      <p class="caps">attributes:</p>
751b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main      <dl class="atn-list">
761b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main        <dt id="screenSize"><code>android:screenSize</code></dt>
771b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main        <dd><b>Required.</b> Specifies the screen size for this screen configuration.
781b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main          <p>Accepted values:</p>
791b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main          <ul>
801b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main            <li>{@code small}</li>
811b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main            <li>{@code normal}</li>
821b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main            <li>{@code large}</li>
831b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main            <li>{@code xlarge}</li>
841b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main          </ul>
851b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main          <p>For information about the different screen sizes, see <a
861b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainhref="{@docRoot}guide/practices/screens_support.html#range">Supporting Multiple Screens</a>.</p>
871b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main        </dd>
881b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main        <dt id="screenDensity"><code>android:screenDensity</code></dt>
891b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main        <dd><b>Required.</b> Specifies the screen density for this screen configuration.
901b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main          <p>Accepted values:</p>
911b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main          <ul>
921b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main            <li>{@code ldpi}</li>
931b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main            <li>{@code mdpi}</li>
941b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main            <li>{@code hdpi}</li>
951b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main            <li>{@code xhdpi}</li>
961b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main          </ul>
971b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main          <p>For information about the different screen densities, see <a
981b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainhref="{@docRoot}guide/practices/screens_support.html#range">Supporting Multiple Screens</a>.</p>
991b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main        </dd>
1001b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main      </dl>
1011b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main    </dd>
1021b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main  </dl>
1031b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main</dd>
104ae7067f58dcd1325c520d15d08a383187476da26Scott Main
105ae7067f58dcd1325c520d15d08a383187476da26Scott Main<dt>example</dt>
106ae7067f58dcd1325c520d15d08a383187476da26Scott Main<dd>
107ae7067f58dcd1325c520d15d08a383187476da26Scott Main<p>If your application is compatible with only small and normal screens, regardless
108ae7067f58dcd1325c520d15d08a383187476da26Scott Mainof screen density, then you must specify eight different {@code &lt;screen&gt;} elements,
109ae7067f58dcd1325c520d15d08a383187476da26Scott Mainbecause each screen size has four different density configurations. You must declare each one of
110ae7067f58dcd1325c520d15d08a383187476da26Scott Mainthese; any combination of size and density that you do <em>not</em> specify is considered a screen
111ae7067f58dcd1325c520d15d08a383187476da26Scott Mainconfiguration with which your application is <em>not</em> compatible. Here's what the manifest
112ae7067f58dcd1325c520d15d08a383187476da26Scott Mainentry looks like if your application is compatible with only small and normal screens:</p>
113ae7067f58dcd1325c520d15d08a383187476da26Scott Main
114ae7067f58dcd1325c520d15d08a383187476da26Scott Main<pre>
115ae7067f58dcd1325c520d15d08a383187476da26Scott Main&lt;manifest ... >
116ae7067f58dcd1325c520d15d08a383187476da26Scott Main    ...
117ae7067f58dcd1325c520d15d08a383187476da26Scott Main    &lt;compatible-screens>
118ae7067f58dcd1325c520d15d08a383187476da26Scott Main        &lt;!-- all small size screens -->
119ae7067f58dcd1325c520d15d08a383187476da26Scott Main        &lt;screen android:screenSize="small" android:screenDensity="ldpi" />
120ae7067f58dcd1325c520d15d08a383187476da26Scott Main        &lt;screen android:screenSize="small" android:screenDensity="mdpi" />
121ae7067f58dcd1325c520d15d08a383187476da26Scott Main        &lt;screen android:screenSize="small" android:screenDensity="hdpi" />
122ae7067f58dcd1325c520d15d08a383187476da26Scott Main        &lt;screen android:screenSize="small" android:screenDensity="xhdpi" />
123ae7067f58dcd1325c520d15d08a383187476da26Scott Main        &lt;!-- all normal size screens -->
124ae7067f58dcd1325c520d15d08a383187476da26Scott Main        &lt;screen android:screenSize="normal" android:screenDensity="ldpi" />
125ae7067f58dcd1325c520d15d08a383187476da26Scott Main        &lt;screen android:screenSize="normal" android:screenDensity="mdpi" />
126ae7067f58dcd1325c520d15d08a383187476da26Scott Main        &lt;screen android:screenSize="normal" android:screenDensity="hdpi" />
127ae7067f58dcd1325c520d15d08a383187476da26Scott Main        &lt;screen android:screenSize="normal" android:screenDensity="xhdpi" />
128ae7067f58dcd1325c520d15d08a383187476da26Scott Main    &lt;/compatible-screens>
129ae7067f58dcd1325c520d15d08a383187476da26Scott Main    &lt;application ... >
130ae7067f58dcd1325c520d15d08a383187476da26Scott Main        ...
131ae7067f58dcd1325c520d15d08a383187476da26Scott Main    &lt;application>
132ae7067f58dcd1325c520d15d08a383187476da26Scott Main&lt;/manifest>
133ae7067f58dcd1325c520d15d08a383187476da26Scott Main</pre>
134ae7067f58dcd1325c520d15d08a383187476da26Scott Main</dd>
135ae7067f58dcd1325c520d15d08a383187476da26Scott Main
1361b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<dt>introduced in:</dt>
1371b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<dd>API Level 9</dd>
1381b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<dt>see also:</dt>
1391b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<dd><a
1401b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Mainhref="{@docRoot}guide/practices/screens_support.html">Supporting Multiple Screens</a></dd>
1411b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main<dd><a href="{@docRoot}guide/appendix/market-filters.html">Market Filters</a></dd>
1421b6dd05927bf381f8a912447dfb79f49b60b9d03Scott Main</dl>
143