page.title=App Structure
page.tags=navigation,layout,tablet
@jd:body

    <p>Apps come in many varieties that address very different needs. For example:</p>
<ul>
<li>Apps such as Calculator or Camera that are built around a single focused activity handled from a
  single screen</li>
<li>Apps such as Phone whose main purpose is to switch between different activities without deeper
  navigation</li>
<li>Apps such as Gmail or the Play Store that combine a broad set of data views with deep navigation</li>
</ul>
<p>Your app's structure depends largely on the content and tasks you want to surface for your users.</p>
<h2 id="general-structure">General Structure</h2>

<p>A typical Android app consists of top level and detail/edit views. If the navigation hierarchy is
deep and complex, category views connect top level and detail views.</p>

<div class="layout-content-row">
  <div class="layout-content-col span-9">

    <img src="{@docRoot}design/media/app_structure_overview.png">

  </div>
  <div class="layout-content-col span-4">

<h4>Top level views</h4>
<p>The top level of the app typically consists of the different views that your app supports. The views
either show different representations of the same data or expose an altogether different functional
facet of your app.</p>
<div class="vspace size-3">&nbsp;</div>

<h4>Category views</h4>
<p>Category views allow you to drill deeper into your data.</p>
<div class="vspace size-11">&nbsp;</div>

<h4>Detail/edit view</h4>
<p>The detail/edit view is where you consume or create data.</p>

  </div>
</div>

<h2 id="top-level">Top Level</h2>

<p>The layout of your start screen requires special attention. This is the first screen people see
after launching your app, so it should be an equally rewarding experience for new and frequent
visitors alike.</p>
<p>Ask yourself: "What are my typical users most likely going to want to do in my app?", and structure
your start screen experience accordingly.</p>

<div class="layout-content-row">
  <div class="layout-content-col span-5">

<h4>Put content forward</h4>
<p>Many apps focus on the content display. Avoid navigation-only screens and instead let people get to
the meat of your app right away by making content the centerpiece of your start screen. Choose
layouts that are visually engaging and appropriate for the data type and screen size.</p>

  </div>
  <div class="layout-content-col span-8">

    <img src="{@docRoot}design/media/app_structure_market.png">
    <div class="figure-caption">
      Play Music allows navigation among artists, albums, and playlists through rich content display.
      It is also enriched with tailored recommendations and promotions that surface content of interest
      to the user. Search is readily available from the action bar. 
    </div>

  </div>
</div>

<h4>Set up action bars for navigation and actions</h4>

<div class="layout-content-row">
  <div class="layout-content-col span-5">

  <p>All screens in your app should display action bars to provide consistent navigation and surface
important actions.</p>
    <p>At the top level, special considerations apply to the action bar:</p>
  <ul>
    <li>Use the action bar to display your app's icon or title.</li>
    <li>If your top level consists of multiple views, make sure that it's easy for the user to navigate between them by adding view controls to your action bar.</li>
    <li>If your app allows people to create content, consider making the content accessible right from the
  top level.</li>
        <li>If your content is searchable, include the Search action in the action bar so people can cut
  through the navigation hierarchy.</li>
    </ul>

  </div>
  <div class="layout-content-col span-8">

    <img src="{@docRoot}design/media/app_structure_gmail.png">
    <div class="figure-caption">
      A calendar is about productivity, so an efficient, easy-to-skim view with higher data density works
      well. Navigation supports switching views of day, week, month, and agenda views. 
    </div>

  </div>
</div>

<h2 id="top-level-switching">Top Level Switching With View Controls</h2>
<p>The top level communicates your app’s capabilities by introducing the user to the major functional areas. In many cases the top level will consist of multiple views, and you need to make sure that the user can navigate between them efficiently. Android supports a number of view controls for this task. Use the control that best matches your app's navigation needs:</p>

<h4>Fixed tabs</h4>
<div class="layout-content-row">
  <div class="layout-content-col span-6">
<p><em>Fixed tabs</em> display top-level views concurrently and make it easy to explore and switch between them. They are always visible on the screen, and can't be moved out of the way like scrollable tabs. <em>Fixed tabs</em> should always allow the user to navigate between the views by swiping left or right on the content area.</p>
<p><strong>Use tabs if</strong>:</p>
<ul>
<li>You expect your app's users to switch views frequently.</li>
<li>You have a limited number of up to three top-level views.</li>
<li>You want the user to be highly aware of the alternate views.</li>
</ul>

  </div>
  <div class="layout-content-col span-7">

    <img src="{@docRoot}design/media/app_structure_default_tabs.png">
    <div class="figure-caption">
      Default fixed tabs shown in Holo Dark &amp; Light.
    </div>

  </div>
</div>

<div class="layout-content-row">
  <div class="layout-content-col span-6">

<h4>Spinners</h4>
<p>A <em>spinner</em> is a drop-down menu that allows users to switch between views of your app. </p>
<p><strong>Use a spinner in the main action bar if</strong>:</p>
<ul>
<li>You don't want to give up the vertical screen real estate for a dedicated tab bar.</li>
<li>The user is switching between views of the same data set (for example: calendar events viewed by day, week, or month) or data sets of the same type (such as content for two different accounts).</li>
</ul>

  </div>
  <div class="layout-content-col span-7">

    <img src="{@docRoot}design/media/app_structure_spinner.png">
    <div class="figure-caption">
      Action bar spinner from Calendar application.
    </div>

  </div>
</div>

<h4>Navigation drawers</h4>
<div class="layout-content-row">
  <div class="layout-content-col span-6">
<p>A <em>navigation drawer</em> is a slide-out menu that allows users to switch between views of your app. It can hold a large number of items and is accessible from anywhere in your app. Navigation drawers show your app's top-level views, but can also provide navigation to lower-level screens. This makes them particularly suitable for complex apps.</p>

<p><strong>Use navigation drawers if</strong>:</p>
<ul>
<li>You don't want to give up the vertical screen real estate for a dedicated tab bar.</li>
<li>You have a large number of top-level views.</li>
<li>You want to provide direct access to screens on lower levels.</li>
<li>You want to provide quick navigation to views which don't have direct relationships between each other.</li>
<li>You have particularly deep navigation branches.</li>
</ul>

  </div>
  <div class="layout-content-col span-7">
    <img src="{@docRoot}design/media/app_structure_drawer.png">
    <div class="figure-caption">
      Navigation drawer from the Keep app.
    </div>
  </div>
</div>

<h4>Don't mix and match</h4>
<p>After choosing the best top-level navigation for your app, don't mix and match patterns. For example, if you decide to use tabs for top-level switching, don't add a drawer, even if your navigation branches are deep. In this case, the navigation drawer would simply duplicate the information on the tabs, confusing your users.</p>

<h2 id="categories">Categories</h2>

<p>Generally, the purpose of a deep, data-driven app is to navigate through organizational categories
to the detail level, where data can be viewed and managed. Minimize perceived navigation effort by
keeping your apps shallow.</p>
<p>Even though the number of vertical navigation steps from the top level down to the detail views is
typically dictated by the structure of your app's content, there are several ways you can cut down
on the perception of onerous navigation.</p>
<h4>Use tabs to combine category selection and data display</h4>
<p>This can be successful if the categories are familiar or the number of categories is small. It has
the advantage that a level of hierarchy is removed and data remains at the center of the user's
attention. Navigating laterally between data-rich categories is more akin to a casual browsing
experience than to an explicit navigation step.</p>

<div class="vspace size-1">&nbsp;</div>

<div class="layout-content-row">
  <div class="layout-content-col span-8">

<p>If the categories are familiar, predictable, or closely related, use scrolling tabs (where not all
items are in view simultaneously). Keep the number of scrolling tabs at a manageable level to
minimize navigational effort. Rule of thumb: no more than 5&ndash;7 tabs.</p>

    <img src="{@docRoot}design/media/app_structure_scrolltabs.png">
    <div class="figure-caption">
      The Play Store app uses tabs to simultaneously show category choice and content. To navigate
      between categories, users can swipe left/right on the content.
    </div>

  </div>
  <div class="layout-content-col span-5">

<p>If the categories in the tabs are not closely related, favor fixed tabs, so that all categories are
in view at the same time.</p>

    <img src="{@docRoot}design/media/app_structure_fixedtabs.png">
    <div class="figure-caption">
      People uses fixed tabs to switch between different, relatively unrelated functional areas.
    </div>


  </div>
</div>

<p>For more discussion, see the <a href="{@docRoot}design/building-blocks/tabs.html">Tabs</a>
design guide.</p>


<h4>Allow cutting through hierarchies</h4>
<p>Take advantage of shortcuts that allow people to reach their goals quicker. To allow top-level
invocation of actions for a data item from within list or grid views, display prominent actions
directly on list view items using drop-downs or split list items. This lets people invoke actions on
data without having to navigate all the way down the hierarchy.</p>

<img src="{@docRoot}design/media/app_structure_shortcut_on_item.png">
<div class="figure-caption">
  Music allows the user to act upon a data item (song) from within the category view (album),
  thereby removing the need to navigate all the way down to the song's detail view.
</div>

<h4>Acting upon multiple data items</h4>
<p>Even though category views mostly serve to guide people to content detail, keep in mind that there
are often good reasons to act on collections of data as well.</p>
<p>For example, if you allow people to delete an item in a detail view, you should also allow them to
delete multiple items in the category view. Analyze which detail view actions are applicable to
collections of items. Then use multi-select to allow application of those actions to multiple items
in a category view.</p>


<p>For more discussion, see the <a href="{@docRoot}design/patterns/selection.html">Selection</a>
design guide.</p>


<h2 id="details">Details</h2>

<p>The detail view allows you to view and act on your data. The layout of the detail view depends on the data type being displayed, and therefore differs widely among apps.</p>

<div class="layout-content-row">
  <div class="layout-content-col span-4">

<h4>Layout</h4>
<p>Consider the activities people will perform in the detail view and arrange the layout accordingly.</p>

  </div>
  <div class="layout-content-col span-9">

    <img src="{@docRoot}design/media/app_structure_people_detail.png">

    <div class="figure-caption">
      The purpose of the People app's detail view is to surface communication options. The list view
      allows for efficient scanning and quick access of phone numbers, email addresses and other
      information items. Split items are used to combine calling and messaging into one compact line
      item.
    </div>
  </div>
</div>


<h4>Make navigation between detail views efficient</h4>
<p>If your users are likely to want to look at multiple items in sequence, allow them to navigate
between items from within the detail view. Use swipe views or other techniques, such as thumbnail view controls,
to achieve this.</p>

<img src="{@docRoot}design/media/app_structure_gmail_swipe.png">
<div class="figure-caption">
  Gmail using swipe views to navigate from detail view to detail view.
</div>

<img src="{@docRoot}design/media/app_structure_gallery_filmstrip.png">
<div class="figure-caption">
  In addition to supporting swipe gestures to move left or right through pages, Magazines provides a
  thumbnail view control that lets people quickly jump to specific pages.
</div>

<p>For more discussion, see the <a href="{@docRoot}design/patterns/swipe-views.html">Swipe Views</a>
design guide.</p>


<h2 id="checklist">Checklist</h2>

<ul>
<li>
<p>Find ways to display useful content on your start screen.</p>
</li>
<li>
<p>Use action bars to provide consistent navigation.</p>
</li>
<li>
<p>Keep your hierarchies shallow by using horizontal navigation and shortcuts.</p>
</li>
<li>
<p>Use multi-select to allow the user to act on collections of data.</p>
</li>
<li>
<p>Allow for quick navigation between detail items with swipe views.</p>
</li>
</ul>
