1page.title=Designing for Multiple Screens 2page.tags="tablet","tv","fragments","support" 3page.metaDescription=Training on how to add intuitive, effective navigation for tablets and other devices. 4 5trainingnavtop=true 6startpage=true 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 18href="http://developer.android.com/guide/components/activities.html">Activities</a> and 19<a href="http://developer.android.com/guide/components/fragments.html">Fragments</a></li> 20 <li>Experience building an Android <a 21href="http://developer.android.com/guide/topics/ui/index.html"> User Interface</a></li> 22 <li>Several features require the use of the <a 23href="{@docRoot}tools/support-library/index.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, 44ranging from small phones to large TV sets. Therefore, it’s important 45that you design your application to be compatible with all screen sizes so it’s available to as many 46users as possible.</p> 47 48<p>But being compatible with different device types is not enough. Each screen 49size offers different possibilities and challenges for user interaction, so in 50order 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 52experience for each screen configuration.</p> 53 54<p>This class shows you how to implement a user interface that's 55optimized for several screen configurations.</p> 56 57<p>The code in each lesson comes from a sample application that demonstrates best practices in 58optimizing for multiple screens. You can download the sample (to the right) and use it as a source 59of reusable code for your own application.</p> 60 61<p class="note"><strong>Note:</strong> This class and the associated sample use the <a 62href="{@docRoot}tools/support-library/index.html">support library</a> in order to use the {@link 63android.app.Fragment} APIs on versions lower than Android 3.0. You must download and add the 64library 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> 88