Scott Main | 801fda5 | 2011-12-09 17:27:21 -0800 | [diff] [blame] | 1 | page.title=Designing for Multiple Screens |
| 2 | |
| 3 | trainingnavtop=true |
| 4 | startpage=true |
| 5 | next.title=Supporting Different Screen Sizes |
| 6 | next.link=screensizes.html |
| 7 | |
| 8 | @jd:body |
| 9 | |
| 10 | <div id="tb-wrapper"> |
| 11 | <div id="tb"> |
| 12 | |
| 13 | <h2>Dependencies and prerequisites</h2> |
| 14 | |
| 15 | <ul> |
| 16 | <li>Android 1.6 or higher (2.1+ for the sample app)</li> |
| 17 | <li>Basic knowledge of <a |
| 18 | href="http://developer.android.com/guide/topics/fundamentals/activities.html">Activities</a> and |
| 19 | <a href="http://developer.android.com/guide/topics/fundamentals/fragments.html">Fragments</a></li> |
| 20 | <li>Experience building an Android <a |
| 21 | href="http://developer.android.com/guide/topics/ui/index.html"> User Interface</a></li> |
| 22 | <li>Several features require the use of the <a |
| 23 | href="{@docRoot}sdk/compatibility-library.html">support library</a></li> |
| 24 | </ul> |
| 25 | |
| 26 | <h2>You should also read</h2> |
| 27 | |
| 28 | <ul> |
| 29 | <li><a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple Screens</a></li> |
| 30 | </ul> |
| 31 | |
| 32 | <h2>Try it out</h2> |
| 33 | |
| 34 | <div class="download-box"> |
| 35 | <a href="http://developer.android.com/shareables/training/NewsReader.zip" class="button">Download |
| 36 | the sample app</a> |
| 37 | <p class="filename">NewsReader.zip</p> |
| 38 | </div> |
| 39 | |
| 40 | </div> |
| 41 | </div> |
| 42 | |
| 43 | <p>Android powers hundreds of device types with several different screen sizes, |
| 44 | ranging from small phones to large TV sets. Therefore, it’s important |
| 45 | that you design your application to be compatible with all screen sizes so it’s available to as many |
| 46 | users as possible.</p> |
| 47 | |
| 48 | <p>But being compatible with different device types is not enough. Each screen |
| 49 | size offers different possibilities and challenges for user interaction, so in |
| 50 | order to truly satisfy and impress your users, your application must go beyond merely |
| 51 | <em>supporting</em> multiple screens: it must <em>optimize</em> the user |
| 52 | experience for each screen configuration.</p> |
| 53 | |
| 54 | <p>This class shows you how to implement a user interface that's |
| 55 | optimized for several screen configurations.</p> |
| 56 | |
| 57 | <p>The code in each lesson comes from a sample application that demonstrates best practices in |
| 58 | optimizing for multiple screens. You can download the sample (to the right) and use it as a source |
| 59 | of reusable code for your own application.</p> |
| 60 | |
| 61 | <p class="note"><strong>Note:</strong> This class and the associated sample use the <a |
| 62 | href="{@docRoot}sdk/compatibility-library.html">support library</a> in order to use the {@link |
| 63 | android.app.Fragment} APIs on versions lower than Android 3.0. You must download and add the |
| 64 | library to your application in order to use all APIs in this class.</p> |
| 65 | |
| 66 | |
| 67 | <h2>Lessons</h2> |
| 68 | |
| 69 | <dl> |
| 70 | <dt><b><a href="screensizes.html">Supporting Different Screen Sizes</a></b></dt> |
| 71 | <dd>This lesson walks you through how to design layouts that adapts |
| 72 | several different screen sizes (using flexible dimensions for |
| 73 | views, {@link android.widget.RelativeLayout}, screen size and orientation qualifiers, |
| 74 | alias filters, and nine-patch bitmaps).</dd> |
| 75 | |
| 76 | <dt><b><a href="screendensities.html">Supporting Different Screen |
| 77 | Densities</a></b></dt> |
| 78 | <dd>This lesson shows you how to support screens that have different |
| 79 | pixel densities (using density-independent pixels and providing |
| 80 | bitmaps appropriate for each density).</dd> |
| 81 | |
| 82 | <dt><b><a href="adaptui.html">Implementing Adaptative UI Flows</a></b></dt> |
| 83 | <dd>This lesson shows you how to implement your UI flow in a way |
| 84 | that adapts to several screen size/density combinations |
| 85 | (run-time detection of active layout, reacting according to |
| 86 | current layout, handling screen configuration changes).</dd> |
| 87 | </dl> |