page.title=Selection
@jd:body

<p>Android 3.0 changed the <em>long press</em> gesture&mdash;that is, a touch that's held in the same position for a moment&mdash;to be the global gesture to select data.. This affects the way you should
handle multi-select and contextual actions in your apps.</p>

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

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

<h4>What has changed?</h4>
<p>In previous versions of Android, the long press gesture was universally used to display contextual
actions for a given data item in a contextual menu.</p>
<p>This pattern changed with Android 3.0. The long press gesture is now used to select data, combining
contextual actions and selection management functions for selected data into a new element called
the contextual action bar (CAB).</p>

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

    <img src="{@docRoot}design/media/selection_context_menu.png">
    <div class="figure-caption">
      Traditional use of the long press gesture to show contextual menus.
    </div>

  </div>
</div>

<h4>Using the contextual action bar (CAB)</h4>
<p>The selection CAB is a temporary action bar that overlays your app's current action bar while data
is selected. It appears after the user long presses on a selectable data item.</p>

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

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

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

<p>From here the user can:</p>
<ul>
<li>Select additional data items by touching them.</li>
<li>Trigger an action from the CAB that applies to all highlighted data items. The CAB then
  automatically dismisses itself.</li>
<li>Dismiss the CAB via the navigation bar's Back button or the CAB's checkmark button. This removes
  the CAB along with all selection highlights.</li>
</ul>

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

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

  </div>
</div>

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

<h4>Selecting CAB actions</h4>
<p>You can decide which actions and elements appear in the CAB. Use the guidelines in the <a href="actionbar.html">Action Bar
pattern</a> to decide which items to surface at the top level and which to move to the
action overflow.</p>
<h4>Dynamically adjust CAB actions</h4>
<p>In most cases you need to adjust the actions in the CAB dynamically as the user adds more items to
the selection. Actions that apply to a single selected data item don't necessarily apply to multiple
selected data items of the same kind.</p>

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

    <img src="{@docRoot}design/media/selection_adjusting_actions.png">
    <div class="figure-caption">
      Adjusting actions in the CAB as additional items are selected.
    </div>

  </div>
</div>

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

<ul>
<li>
<p>Whenever your app supports the selection of multiple data items, make use of the contextual action
  bar (CAB).</p>
</li>
<li>
<p>Reserve the long press gesture for selection exclusively. Don't use it to display traditional
  contextual menus.</p>
</li>
<li>
<p>If you don't support multi-selection within a list, long press should do nothing.</p>
</li>
<li>
<p>Plan the actions you want to display inside of a CAB in the same way you would plan the actions
  inside your app's action bar.</p>
</li>
</ul>
