| page.title=Designing for Multiple Screens |
| page.tags="tablet","tv","fragments","support" |
| |
| trainingnavtop=true |
| startpage=true |
| |
| @jd:body |
| |
| <div id="tb-wrapper"> |
| <div id="tb"> |
| |
| <h2>Dependencies and prerequisites</h2> |
| |
| <ul> |
| <li>Android 1.6 or higher (2.1+ for the sample app)</li> |
| <li>Basic knowledge of <a |
| href="http://developer.android.com/guide/components/activities.html">Activities</a> and |
| <a href="http://developer.android.com/guide/components/fragments.html">Fragments</a></li> |
| <li>Experience building an Android <a |
| href="http://developer.android.com/guide/topics/ui/index.html"> User Interface</a></li> |
| <li>Several features require the use of the <a |
| href="{@docRoot}tools/support-library/index.html">support library</a></li> |
| </ul> |
| |
| <h2>You should also read</h2> |
| |
| <ul> |
| <li><a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple Screens</a></li> |
| </ul> |
| |
| <h2>Try it out</h2> |
| |
| <div class="download-box"> |
| <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">Download |
| the sample app</a> |
| <p class="filename">NewsReader.zip</p> |
| </div> |
| |
| </div> |
| </div> |
| |
| <p>Android powers hundreds of device types with several different screen sizes, |
| ranging from small phones to large TV sets. Therefore, it’s important |
| that you design your application to be compatible with all screen sizes so it’s available to as many |
| users as possible.</p> |
| |
| <p>But being compatible with different device types is not enough. Each screen |
| size offers different possibilities and challenges for user interaction, so in |
| order to truly satisfy and impress your users, your application must go beyond merely |
| <em>supporting</em> multiple screens: it must <em>optimize</em> the user |
| experience for each screen configuration.</p> |
| |
| <p>This class shows you how to implement a user interface that's |
| optimized for several screen configurations.</p> |
| |
| <p>The code in each lesson comes from a sample application that demonstrates best practices in |
| optimizing for multiple screens. You can download the sample (to the right) and use it as a source |
| of reusable code for your own application.</p> |
| |
| <p class="note"><strong>Note:</strong> This class and the associated sample use the <a |
| href="{@docRoot}tools/support-library/index.html">support library</a> in order to use the {@link |
| android.app.Fragment} APIs on versions lower than Android 3.0. You must download and add the |
| library to your application in order to use all APIs in this class.</p> |
| |
| |
| <h2>Lessons</h2> |
| |
| <dl> |
| <dt><b><a href="screensizes.html">Supporting Different Screen Sizes</a></b></dt> |
| <dd>This lesson walks you through how to design layouts that adapts |
| several different screen sizes (using flexible dimensions for |
| views, {@link android.widget.RelativeLayout}, screen size and orientation qualifiers, |
| alias filters, and nine-patch bitmaps).</dd> |
| |
| <dt><b><a href="screendensities.html">Supporting Different Screen |
| Densities</a></b></dt> |
| <dd>This lesson shows you how to support screens that have different |
| pixel densities (using density-independent pixels and providing |
| bitmaps appropriate for each density).</dd> |
| |
| <dt><b><a href="adaptui.html">Implementing Adaptative UI Flows</a></b></dt> |
| <dd>This lesson shows you how to implement your UI flow in a way |
| that adapts to several screen size/density combinations |
| (run-time detection of active layout, reacting according to |
| current layout, handling screen configuration changes).</dd> |
| </dl> |