blob: e4421c640f5402c2ef2813d6bfc59ee98cc25319 [file] [log] [blame]
Roman Nurik19266f72012-03-12 21:48:47 -07001page.title=Implementing Effective Navigation
Scott Main7c840552013-03-26 18:53:01 -07002page.tags="viewpager","tasks","back","up","swipe view","drawer"
Roman Nurik19266f72012-03-12 21:48:47 -07003
4trainingnavtop=true
5startpage=true
Roman Nurik19266f72012-03-12 21:48:47 -07006
7@jd:body
8
9<div id="tb-wrapper">
10<div id="tb">
11
12<h2>Dependencies and prerequisites</h2>
13
14<ul>
Scott Main7c840552013-03-26 18:53:01 -070015 <li>Android 2.2 or higher</li>
Roman Nurik19266f72012-03-12 21:48:47 -070016 <li>Understanding of fragments and Android layouts</li>
Scott Main7c840552013-03-26 18:53:01 -070017 <li><a href="{@docRoot}tools/extras/support-library.html">Android Support Library</a></li>
Roman Nurik19266f72012-03-12 21:48:47 -070018 <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 Main50e990c2012-06-21 17:14:39 -070025 <li><a href="{@docRoot}guide/components/fragments.html">Fragments</a></li>
Roman Nurik19266f72012-03-12 21:48:47 -070026 <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 Main7c840552013-03-26 18:53:01 -070043</p>
Roman Nurik19266f72012-03-12 21:48:47 -070044
Scott Main7c840552013-03-26 18:53:01 -070045<p>After reading the lessons in this class, you should have a strong understanding of how to
46implement navigation patterns with tabs, swipe views, and a navigation drawer. You should also
47understand 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.
51If you have not used the Support Library before, follow the lesson about <a
52href="{@docRoot}training/basics/fragments/support-lib.html">Using the Support Library</a>
53to get your project set up.</p>
Roman Nurik19266f72012-03-12 21:48:47 -070054
55
56<h2 id="lessons">Lessons</h2>
57
Roman Nurik19266f72012-03-12 21:48:47 -070058<dl>
Scott Main7c840552013-03-26 18:53:01 -070059 <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 Nurik19266f72012-03-12 21:48:47 -070062
Scott Main7c840552013-03-26 18:53:01 -070063 <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 Nurik19266f72012-03-12 21:48:47 -070066
Scott Main7c840552013-03-26 18:53:01 -070067 <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 Nurik19266f72012-03-12 21:48:47 -070074
75 <dt><strong><a href="descendant.html">Implementing Descendant Navigation</a></strong></dt>
Scott Main7c840552013-03-26 18:53:01 -070076 <dd>Learn the finer points of navigating down into your application's information hierarchy.</dd>
Roman Nurik19266f72012-03-12 21:48:47 -070077</dl>