Roman Nurik | 19266f7 | 2012-03-12 21:48:47 -0700 | [diff] [blame] | 1 | page.title=Implementing Effective Navigation |
Scott Main | 7c84055 | 2013-03-26 18:53:01 -0700 | [diff] [blame^] | 2 | page.tags="viewpager","tasks","back","up","swipe view","drawer" |
Roman Nurik | 19266f7 | 2012-03-12 21:48:47 -0700 | [diff] [blame] | 3 | |
| 4 | trainingnavtop=true |
| 5 | startpage=true |
Roman Nurik | 19266f7 | 2012-03-12 21:48:47 -0700 | [diff] [blame] | 6 | |
| 7 | @jd:body |
| 8 | |
| 9 | <div id="tb-wrapper"> |
| 10 | <div id="tb"> |
| 11 | |
| 12 | <h2>Dependencies and prerequisites</h2> |
| 13 | |
| 14 | <ul> |
Scott Main | 7c84055 | 2013-03-26 18:53:01 -0700 | [diff] [blame^] | 15 | <li>Android 2.2 or higher</li> |
Roman Nurik | 19266f7 | 2012-03-12 21:48:47 -0700 | [diff] [blame] | 16 | <li>Understanding of fragments and Android layouts</li> |
Scott Main | 7c84055 | 2013-03-26 18:53:01 -0700 | [diff] [blame^] | 17 | <li><a href="{@docRoot}tools/extras/support-library.html">Android Support Library</a></li> |
Roman Nurik | 19266f7 | 2012-03-12 21:48:47 -0700 | [diff] [blame] | 18 | <li><a href="{@docRoot}training/design-navigation/index.html">Designing Effective Navigation</a></li> |
| 19 | </ul> |
| 20 | |
| 21 | <h2>You should also read</h2> |
| 22 | |
| 23 | <ul> |
| 24 | <li><a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a></li> |
Scott Main | 50e990c | 2012-06-21 17:14:39 -0700 | [diff] [blame] | 25 | <li><a href="{@docRoot}guide/components/fragments.html">Fragments</a></li> |
Roman Nurik | 19266f7 | 2012-03-12 21:48:47 -0700 | [diff] [blame] | 26 | <li><a href="{@docRoot}training/multiscreen/index.html">Designing for Multiple Screens</a></li> |
| 27 | </ul> |
| 28 | |
| 29 | <h2>Try it out</h2> |
| 30 | |
| 31 | <div class="download-box"> |
| 32 | <a href="http://developer.android.com/shareables/training/EffectiveNavigation.zip" |
| 33 | class="button">Download the sample app</a> |
| 34 | <p class="filename">EffectiveNavigation.zip</p> |
| 35 | </div> |
| 36 | |
| 37 | </div> |
| 38 | </div> |
| 39 | |
| 40 | |
| 41 | <p>This class demonstrates how to implement the key navigation design patterns detailed in the |
| 42 | <a href="{@docRoot}training/design-navigation/index.html">Designing Effective Navigation</a> class. |
Scott Main | 7c84055 | 2013-03-26 18:53:01 -0700 | [diff] [blame^] | 43 | </p> |
Roman Nurik | 19266f7 | 2012-03-12 21:48:47 -0700 | [diff] [blame] | 44 | |
Scott Main | 7c84055 | 2013-03-26 18:53:01 -0700 | [diff] [blame^] | 45 | <p>After reading the lessons in this class, you should have a strong understanding of how to |
| 46 | implement navigation patterns with tabs, swipe views, and a navigation drawer. You should also |
| 47 | understand how to provide proper <em>Up</em> and <em>Back</em> navigation.</p> |
| 48 | |
| 49 | <p class="note"><strong>Note:</strong> Several elements of this class require the |
| 50 | <a href="{@docRoot}tools/extras/support-library.html">Support Library</a> APIs. |
| 51 | If you have not used the Support Library before, follow the lesson about <a |
| 52 | href="{@docRoot}training/basics/fragments/support-lib.html">Using the Support Library</a> |
| 53 | to get your project set up.</p> |
Roman Nurik | 19266f7 | 2012-03-12 21:48:47 -0700 | [diff] [blame] | 54 | |
| 55 | |
| 56 | <h2 id="lessons">Lessons</h2> |
| 57 | |
Roman Nurik | 19266f7 | 2012-03-12 21:48:47 -0700 | [diff] [blame] | 58 | <dl> |
Scott Main | 7c84055 | 2013-03-26 18:53:01 -0700 | [diff] [blame^] | 59 | <dt><strong><a href="lateral.html">Creating Swipe Views with Tabs</a></strong></dt> |
| 60 | <dd>Learn how to implement tabs in the action bar and provide |
| 61 | horizontal paging (swipe views) to navigate between tabs.</dd> |
Roman Nurik | 19266f7 | 2012-03-12 21:48:47 -0700 | [diff] [blame] | 62 | |
Scott Main | 7c84055 | 2013-03-26 18:53:01 -0700 | [diff] [blame^] | 63 | <dt><strong><a href="nav-drawer.html">Creating a Navigation Drawer</a></strong></dt> |
| 64 | <dd>Learn how to build an interface with a hidden navigation drawer on the side |
| 65 | of the screen that opens with a swipe or by pressing the action bar's app icon.</dd> |
Roman Nurik | 19266f7 | 2012-03-12 21:48:47 -0700 | [diff] [blame] | 66 | |
Scott Main | 7c84055 | 2013-03-26 18:53:01 -0700 | [diff] [blame^] | 67 | <dt><strong><a href="ancestral.html">Providing Up Navigation</a></strong></dt> |
| 68 | <dd>Learn how to implement <em>Up</em> navigation using the action bar's app icon.</dd> |
| 69 | |
| 70 | <dt><strong><a href="temporal.html">Providing Proper Back Navigation</a></strong></dt> |
| 71 | <dd>Learn how to correctly handle the <em>Back</em> button in special cases, |
| 72 | including how to insert activities into the back stack when deep-linking the user |
| 73 | from notifications or app widgets.</dd> |
Roman Nurik | 19266f7 | 2012-03-12 21:48:47 -0700 | [diff] [blame] | 74 | |
| 75 | <dt><strong><a href="descendant.html">Implementing Descendant Navigation</a></strong></dt> |
Scott Main | 7c84055 | 2013-03-26 18:53:01 -0700 | [diff] [blame^] | 76 | <dd>Learn the finer points of navigating down into your application's information hierarchy.</dd> |
Roman Nurik | 19266f7 | 2012-03-12 21:48:47 -0700 | [diff] [blame] | 77 | </dl> |