page.tags="button","input"
@jd:body
+<a class="notice-developers" href="{@docRoot}guide/topics/ui/controls/button.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Buttons</p>
+ </div>
+</a>
+
<p>A button consists of text and/or an image that clearly communicates what action will occur when the
user touches it. Android supports two different types of buttons: <em>basic buttons</em> and <em>borderless
buttons</em>. Both can contain text labels and/or images.</p>
<img src="{@docRoot}design/media/buttons_borderless.png">
-
-<div class="note develop">
-<p><strong>Developer Guide</strong></p>
- <p>For information about how to build and customize buttons in your app,
- see the <a href="{@docRoot}guide/topics/ui/controls/button.html">Buttons</a> API guide.</p>
-</div>
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>
</div>
</div>
-<div class="note develop">
-<p><strong>Developer Guide</strong></p>
- <p>For information about how to build dialogs in your app,
- see the <a href="{@docRoot}guide/topics/ui/dialogs.html">Dialogs</a> API guide.</p>
-</div>
<h2 id="popups">Popups</h2>
<div class="layout-content-row">
<div class="layout-content-col span-6">
- <div class="vspace size-6"></div>
+ <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">
</div>
</div>
-
-<div class="note develop">
-<p><strong>Developer Guide</strong></p>
- <p>For information about how to create toasts,
- see the <a href="{@docRoot}guide/topics/ui/notifiers/toasts.html">Toasts</a> API guide.</p>
-</div>
<img src="{@docRoot}design/media/gridview_overview.png">
+<a class="notice-developers" href="{@docRoot}guide/topics/ui/layout/gridview.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Grid View</p>
+ </div>
+</a>
+
<p>Grid lists are an alternative to standard list views. They are best suited for showing data sets
that represent themselves through images. In contrast to simple lists, grid lists may scroll either
vertically or horizontally.</p>
page.tags="listview","layout"
@jd:body
+<a class="notice-developers" href="{@docRoot}guide/topics/ui/layout/listview.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>List View</p>
+ </div>
+</a>
+
<p>Lists present multiple line items in a vertical arrangement. They can be used for data selection as
well as drilldown navigation.</p>
page.tags="datepicker","timepicker"
@jd:body
+<a class="notice-developers" href="{@docRoot}guide/topics/ui/controls/pickers.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Pickers</p>
+ </div>
+</a>
+
<p>Pickers provide a simple way to select a single value from a set. In addition to touching the
up/down arrow buttons, it's possible to set the desired value from the keyboard or via a swipe
gesture.</p>
<img src="{@docRoot}design/media/picker_datetime.png">
-
-<div class="note develop">
-<p><strong>Developer Guide</strong></p>
- <p>For information about how to create date and time pickers,
- see the <a href="{@docRoot}guide/topics/ui/controls/pickers.html">Pickers</a> API guide.</p>
-</div>
page.tags="spinner","dropdown"
@jd:body
+<a class="notice-developers" href="{@docRoot}guide/topics/ui/controls/spinner.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Spinners</p>
+ </div>
+</a>
+
<p>Spinners provide a quick way to select one value from a set. In the default state, a spinner shows
its currently selected value. Touching the spinner displays a dropdown menu with all other available
values, from which the user can select a new one.</p>
Spinners in the Holo Dark and Holo Light themes, in various states.
</div>
-
-<div class="note develop">
-<p><strong>Developer Guide</strong></p>
- <p>For information about how to create spinners,
- see the <a href="{@docRoot}guide/topics/ui/controls/spinner.html">Spinners</a> API guide.</p>
-</div>
<p>Switches allow the user to select options. There are three kinds of switches: checkboxes, radio
buttons, and on/off switches.</p>
+
+
+
<h2 id="checkboxes">Checkboxes</h2>
+<a class="notice-developers" href="{@docRoot}guide/topics/ui/controls/checkbox.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Checkboxes</p>
+ </div>
+</a>
+
<p>Checkboxes allow the user to select multiple options from a set. Avoid using a single checkbox to
turn an option off or on. Instead, use an on/off switch.</p>
<img src="{@docRoot}design/media/switches_checkboxes.png">
+
+
<h2 id="radio-buttons">Radio Buttons</h2>
+<a class="notice-developers" href="{@docRoot}guide/topics/ui/controls/radiobutton.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Radio Buttons</p>
+ </div>
+</a>
+
<p>Radio buttons allow the user to select one option from a set. Use radio buttons for exclusive
selection if you think that the user needs to see all available options side-by-side. Otherwise,
consider a spinner, which uses less space.</p>
<img src="{@docRoot}design/media/switches_radios.png">
+
+
<h2 id="switches">On/off Switches</h2>
+<a class="notice-developers" href="{@docRoot}guide/topics/ui/controls/togglebutton.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Toggle Buttons</p>
+ </div>
+</a>
+
<p>On/off switches toggle the state of a single settings option.</p>
<img src="{@docRoot}design/media/switches_switches.png">
-<div class="note develop">
-<p><strong>Developer Guide</strong></p>
- <p>For information about how to create these different switches,
- see the <a href="{@docRoot}guide/topics/ui/controls/checkbox.html">Checkboxes</a>,
- <a href="{@docRoot}guide/topics/ui/controls/radiobutton.html">Radio Buttons</a>, or
- <a href="{@docRoot}guide/topics/ui/controls/togglebutton.html">Toggle Buttons</a> API guides.</p>
-</div>
+
<img src="{@docRoot}design/media/tabs_overview.png">
+<a class="notice-developers" href="{@docRoot}training/implementing-navigation/lateral.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Creating Swipe Views with Tabs</p>
+ </div>
+</a>
+
<p>Tabs in the action bar make it easy to explore and switch between different views or functional
aspects of your app, or to browse categorized data sets.</p>
<img src="{@docRoot}design/media/tabs_stacked.png">
-
-<div class="note develop">
-<p><strong>Developer Guide</strong></p>
- <p>For information about how to create tabs,
- see the <a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> API guide.</p>
-</div>
page.tags="text","edittext","input"
@jd:body
+<a class="notice-developers" href="{@docRoot}guide/topics/ui/controls/text.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Text Fields</p>
+ </div>
+</a>
+
<p>Text fields allow the user to type text into your app. They can be either single line or multi-line.
Touching a text field places the cursor and automatically displays the keyboard. In addition to
typing, text fields allow for a variety of other activities, such as text selection (cut, copy,
</div>
</div>
-
-<div class="note develop">
-<p><strong>Developer Guide</strong></p>
- <p>For information about how to create text fields, provide auto-complete suggestions,
- and specify the input mode,
- see the <a href="{@docRoot}guide/topics/ui/controls/text.html">Text Fields</a> API guide.</p>
-</div>
page.tags="accessibility","navigation","input"
@jd:body
+<a class="notice-developers" href="{@docRoot}training/accessibility/index.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Implementing Accessibility</p>
+ </div>
+</a>
+
<p>One of Android's missions is to organize the world's information and make it universally accessible and useful. Accessibility is the measure of how successfully a product can be used by people with varying abilities. Our mission applies to all users-including people with disabilities such as visual impairment, color deficiency, hearing loss, and limited dexterity.</p>
<p><a href="https://www.google.com/#hl=en&q=universal+design&fp=1">Universal design</a> is the practice of making products that are inherently accessible to all users, regardless of ability. The Android design patterns were created in accordance with universal design principles, and following them will help your app meet basic usability standards. Adhering to universal design and enabling Android's accessibility tools will make your app as accessible as possible.</p>
<p>Robust support for accessibility will increase your app's user base. It may also be required for adoption by some organizations.</p>
<p>Turn on the TalkBack service in <strong>Settings > Accessibility</strong> and navigate your application using directional controls or eyes-free navigation.</p>
-<div class="note develop">
-<p><strong>Developer Guide</strong></p>
- <p>For information about how to properly implement accessibility in your app, see the
- <a href="{@docRoot}guide/topics/ui/accessibility/index.html">Accessibility</a>
- API guide.</p>
-</div>
-
<h2>Checklist</h2>
<ul>
page.tags="support"
@jd:body
+<a class="notice-developers" href="{@docRoot}training/basics/supporting-devices/index.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Supporting Different Devices</p>
+ </div>
+</a>
+
<p>Significant changes in Android 3.0 included:</p>
<ul>
<li>Deprecation of navigation hardware keys (Back, Menu, Search, Home) in favor of handling navigation
page.tags="tablet","navigation","layout","fragment"
@jd:body
+
+<a class="notice-developers" href="{@docRoot}training/basics/fragments/index.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Building a Dynamic UI with Fragments</p>
+ </div>
+</a>
+
<p>When writing an app for Android, keep in mind that Android devices come in many different screen
sizes and types. Make sure that your app consistently provides a balanced and aesthetically pleasing
layout by adjusting its content to varying screen sizes and orientations.</p>
</div>
-<div class="note develop">
-<p><strong>Developer Guide</strong></p>
- <p>For information about how to create multi-pane layouts, read
- see the <a href="{@docRoot}training/basics/fragments/index.html">Building
- a Dynamic UI with Fragments</a> and
- <a href="{@docRoot}training/multiscreen/index.html">Designing for Multiple Screens</a>.
- </p>
-</div>
-
<h2 id="checklist">Checklist</h2>
page.tags="navigation","activity","task"
@jd:body
+<a class="notice-developers" href="{@docRoot}training/implementing-navigation/index.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Implementing Effective Navigation</p>
+ </div>
+</a>
+
<p>Consistent navigation is an essential component of the overall user experience. Few things frustrate
users more than basic navigation that behaves in inconsistent and unexpected ways. Android 3.0
introduced significant changes to the global navigation behavior. Thoughtfully following the
<p>When your app registers to handle intents with an activity deep within the app's hierarchy,
refer to <a href="#into-your-app">Navigation into Your App via Home Screen Widgets and
Notifications</a> for guidance on how to specify Up navigation.</p>
-
-
-
-<div class="note develop">
-<p><strong>Developer Guide</strong></p>
- <p>For information about how to build your app with proper Up and Back navigation, read
- <a href="{@docRoot}training/implementing-navigation/ancestral.html">Implementing
- Ancestral Navigation</a> and
- <a href="{@docRoot}training/implementing-navigation/temporal.html">Implementing
- Temporal Navigation</a>, respectively.
- </p>
-</div>
page.title=Notifications
-page.tags="notification"
@jd:body
+<a class="notice-developers" href="{@docRoot}training/notify-user/index.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Notifying the User</p>
+ </div>
+</a>
+
<p>The notification system allows your app to keep the user informed about events, such as new chat messages or a calendar event. Think of notifications as a news channel that alerts the user to important events as they happen or a log that chronicles events while the user is not paying attention.</p>
<h4>New in Jelly Bean</h4>
</div>
</div>
-
-
-<div class="note develop">
-<p><strong>Developer Guide</strong></p>
- <p>For information about how to build notifications, see the
- <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html">Notifications</a>
- API guide.</p>
-</div>
page.tags="actionmode","navigation","contextual"
@jd:body
+<a class="notice-developers" href="{@docRoot}guide/topics/ui/menus.html#context-menu">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Menus: Creating Contextual Menus</p>
+ </div>
+</a>
+
<p>Android 3.0 changed the <em>long press</em> gesture—that is, a touch that's held in the same position for a moment—to be the global gesture to select data.. This affects the way you should
handle multi-select and contextual actions in your apps.</p>
page.tags="preferences","sharedpreferences"
@jd:body
+<a class="notice-developers" href="{@docRoot}guide/topics/ui/settings.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Settings</p>
+ </div>
+</a>
+
<p>Settings is a place in your app where users indicate their preferences for how your app should
behave. This benefits users because:</p>
</div>
-<div class="note develop">
-<p><strong>Developer Guide</strong></p>
- <p>For information about how to build a settings interface, see the
- <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>
- API guide.</p>
-</div>
-
<h2 id="checklist">Checklist</h2>
<ul>
page.tags="viewpager","navigation","tabs"
@jd:body
+<a class="notice-developers" href="{@docRoot}training/implementing-navigation/lateral.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>Creating Swipe Views with Tabs</p>
+ </div>
+</a>
+
<p>Efficient navigation is one of the cornerstones of a well-designed app. While apps are generally
built in a hierarchical fashion, there are instances where horizontal navigation can flatten
vertical hierarchies and make access to related data items faster and more enjoyable. Swipe views
</div>
</div>
-
-<div class="note develop">
-<p><strong>Developer Guide</strong></p>
- <p>For information about how to create swipe views, read
- <a href="{@docRoot}training/implementing-navigation/lateral.html">Implementing Lateral Navigation</a>.
- </p>
-</div>
-
-
page.tags="appwidget","home"
@jd:body
+<a class="notice-developers" href="{@docRoot}guide/topics/appwidgets/index.html">
+ <div>
+ <h3>Developer Docs</h3>
+ <p>App Widgets</p>
+ </div>
+</a>
+
<p>Widgets are an essential aspect of home screen customization. You can imagine them as "at-a-glance" views of an app's most important data and functionality that is accessible right from the user's home screen. Users can move widgets across their home screen panels, and, if supported, resize them to tailor the amount of information within a widget to their preference.</p>
<h2>Widget types</h2>
</div>
-<div class="note develop">
-<p><strong>Developer Guide</strong></p>
- <p>For information about how to build widgets for the home screen, see the
- <a href="{@docRoot}guide/topics/appwidgets/index.html">App Widgets</a>
- API guide.</p>
-</div>
-
<h2>Checklist</h2>
<ul>
<li>Focus on small portions of glanceable information on your widget. Expand on the information in your app.</li>