page.title=Dialogs
page.tags=dialog,alert,popup,toast
@jd:body

<a class="notice-developers" href="{@docRoot}guide/topics/ui/dialogs.html">
  <div>
    <h3>Developer Docs</h3>
    <p>Dialogs</p>
  </div>
</a>

<p>Dialogs prompt the user for decisions or additional information required by the app to continue a
task. Such requests can range from simple Cancel/OK decisions to more complex layouts asking the
user to adjust settings or enter text.</p>

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

<div class="with-callouts">

<ol>
  <li>
  <h4>Optional title region</h4>
  <p>The title introduces the content of your dialog. It can, for example, identify the name of a
   setting that the user is about to change, or request a decision.</p>
  </li>
  <li>
  <h4>Content area</h4>
  <p>Dialog content varies widely. For settings dialogs, a dialog may contain UI elements such as
   sliders, text fields, checkboxes, or radio buttons that allow the user to change app or system
   settings. In other cases, such as alerts, the content may consist solely of text that provides
   further context for a user decision.</p>
  </li>

  <li>
  <h4>Action buttons</h4>
  <p>Action buttons are typically Cancel and/or OK, with OK indicating the preferred or most likely action. However, if the options consist of specific actions such as Close or Wait rather than a confirmation or cancellation of the action described in the content, then all the buttons should be active verbs. Order actions following these rules:</p>
    <ul>
    
    <li>The dismissive action of a dialog is always on the left. Dismissive actions return to the user to the previous state.</li>
    <li>The affirmative actions are on the right. Affirmative actions continue progress toward the user goal that triggered the dialog.</li>
    </ul>
  </li>
</ol>
</div>

<img src="{@docRoot}design/media/dialogs_examples.png">
<div class="figure-caption">
  Samples of typical dialog use in Android.
</div>

<h2 id="alerts">Alerts</h2>

<p>Alerts inform the user about a situation that requires their confirmation or acknowledgement before
proceeding. They differ slightly in appearance based upon the severity and impact of the message
conveyed.</p>

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

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

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

<h4>Alerts without title bars</h4>
<p>Most alerts don't need titles. Usually the decision doesn't have a severe impact and can be summed
up succinctly in a sentence or two. The content area should either ask a question (such as "Delete
this conversation?") or make a clear statement whose relationship to the action buttons is obvious.</p>

  </div>
</div>


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

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

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

<h4>Alerts with title bars</h4>
<p>Use alerts with title bars sparingly. They are appropriate only when a high-risk operation involving
potential loss of data, connectivity, extra charges, and so on requires a clear question or
statement (the title) and some additional explanation (in the content area).</p>
<p>Keep the question or statement short: for example, "Erase USB storage?" Avoid apologies. A user
should be able to skip the content completely and still have a clear idea of what choices are
available based on the title and the text of the action buttons.</p>

  </div>
</div>
<p>When crafting a confirmation dialog, make the title meaningful by echoing the requested action.</p>

<div class="layout-content-row">
  <div class="layout-content-col span-4">
    <div class="do-dont-label bad">Don't</div>
      <table class="ui-table bad">
      <thead>
        <tr>
          <th class="label">
          Are you sure?
          </th>
        </tr>
      </thead>
      </table>
  </div>
  <div class="layout-content-col span-4">
    <div class="do-dont-label bad">Don't</div>
      <table class="ui-table bad">
      <thead>
        <tr>
          <th class="label">
          Warning!
          </th>
        </tr>
      </thead>
      </table>
  </div>
  <div class="layout-content-col span-5">
    <div class="do-dont-label good">Do</div>
      <table class="ui-table good">
      <thead>
        <tr>
          <th class="label">
          Erase USB storage?
          </th>
        </tr>
      </thead>
      </table>
  </div>
</div>


<h2 id="popups">Popups</h2>

<p>Popups are lightweight version of dialogs that require a single selection from the user. Popups
don't have have explicit buttons that accept or cancel the operation. Instead, making a selection
advances the workflow, and simply touching outside the popup dismisses it.</p>

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


<h2 id="toasts">Toasts</h2>


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

    <div class="vspace size-3"></div>

<p>Toasts provide lightweight feedback about an operation in a small popup. For example, navigating
away from an email before you send it triggers a "Draft saved" toast to let you know that you can
continue editing later. Toasts automatically disappear after a timeout.</p>

<a class="notice-developers left" href="{@docRoot}guide/topics/ui/notifiers/toasts.html">
  <div>
    <h3>Developer Docs</h3>
    <p>Toasts</p>
  </div>
</a>

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

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

  </div>
</div>

