page.title=Implementing Effective Navigation

trainingnavtop=true
startpage=true

@jd:body

<div id="tb-wrapper">
<div id="tb">

<h2>Dependencies and prerequisites</h2>

<ul>
  <li>Android 2.2 or higher</li>
  <li>Understanding of fragments and Android layouts</li>
  <li><a href="{@docRoot}tools/support-library/index.html">Android Support Library</a></li>
  <li><a href="{@docRoot}training/design-navigation/index.html">Designing Effective Navigation</a></li>
</ul>

<h2>You should also read</h2>

<ul>
  <li><a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a></li>
  <li><a href="{@docRoot}guide/components/fragments.html">Fragments</a></li>
  <li><a href="{@docRoot}training/multiscreen/index.html">Designing for Multiple Screens</a></li>
</ul>

<h2>Try it out</h2>

<div class="download-box">
<a href="http://developer.android.com/shareables/training/EffectiveNavigation.zip"
  class="button">Download the sample app</a>
<p class="filename">EffectiveNavigation.zip</p>
</div>

</div>
</div>


<p>This class demonstrates how to implement the key navigation design patterns detailed in the
<a href="{@docRoot}training/design-navigation/index.html">Designing Effective Navigation</a> class.
</p>

<p>After reading the lessons in this class, you should have a strong understanding of how to
implement navigation patterns with tabs, swipe views, and a navigation drawer. You should also
understand how to provide proper <em>Up</em> and <em>Back</em> navigation.</p>

<p class="note"><strong>Note:</strong> Several elements of this class require the
<a href="{@docRoot}tools/support-library/index.html">Support Library</a> APIs.
If you have not used the Support Library before, follow the instructions
in the <a href="{@docRoot}tools/support-library/setup.html">Support Library Setup</a>
document.</p>


<h2 id="lessons">Lessons</h2>

<dl>
  <dt><strong><a href="lateral.html">Creating Swipe Views with Tabs</a></strong></dt>
    <dd>Learn how to implement tabs in the action bar and provide
    horizontal paging (swipe views) to navigate between tabs.</dd>

  <dt><strong><a href="nav-drawer.html">Creating a Navigation Drawer</a></strong></dt>
    <dd>Learn how to build an interface with a hidden navigation drawer on the side
    of the screen that opens with a swipe or by pressing the action bar's app icon.</dd>

  <dt><strong><a href="ancestral.html">Providing Up Navigation</a></strong></dt>
    <dd>Learn how to implement <em>Up</em> navigation using the action bar's app icon.</dd>

  <dt><strong><a href="temporal.html">Providing Proper Back Navigation</a></strong></dt>
    <dd>Learn how to correctly handle the <em>Back</em> button in special cases,
    including how to insert activities into the back stack when deep-linking the user
    from notifications or app widgets.</dd>

  <dt><strong><a href="descendant.html">Implementing Descendant Navigation</a></strong></dt>
    <dd>Learn the finer points of navigating down into your application's information hierarchy.</dd>
</dl>