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>
