summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorPeter Ng <petergng@google.com>2012-07-30 14:39:54 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-07-30 14:39:54 -0700
commita3b69d1fa473460b8955fb28e4a1a7621ddd5947 (patch)
treef00af27fd4c3f338aa254d0bc979baa220cb5880 /docs
parentfc92eb94c413ebae1016d10460ee62e92f0c1a64 (diff)
parent81a9bece12ef855092b27c33a997f3fa7b7f2d98 (diff)
downloadframeworks_base-a3b69d1fa473460b8955fb28e4a1a7621ddd5947.zip
frameworks_base-a3b69d1fa473460b8955fb28e4a1a7621ddd5947.tar.gz
frameworks_base-a3b69d1fa473460b8955fb28e4a1a7621ddd5947.tar.bz2
am 81a9bece: Merge "copy and image updates to patterns and building blocks" into jb-dev
* commit '81a9bece12ef855092b27c33a997f3fa7b7f2d98': copy and image updates to patterns and building blocks
Diffstat (limited to 'docs')
-rw-r--r--docs/html/design/building-blocks/dialogs.jd43
-rw-r--r--docs/html/design/building-blocks/index.jd2
-rw-r--r--docs/html/design/building-blocks/tabs.jd3
-rw-r--r--docs/html/design/media/building_blocks_landing.pngbin141888 -> 166158 bytes
-rw-r--r--docs/html/design/media/color_spectrum.pngbin2529 -> 2867 bytes
-rw-r--r--docs/html/design/media/index_landing_page.pngbin354256 -> 291083 bytes
-rw-r--r--docs/html/design/media/multipane_show.pngbin159034 -> 87619 bytes
-rw-r--r--docs/html/design/media/notifications_dismiss.pngbin57718 -> 27896 bytes
-rw-r--r--docs/html/design/media/themes_holo_dark.pngbin28203 -> 25031 bytes
-rw-r--r--docs/html/design/media/themes_holo_inverse.pngbin66350 -> 68280 bytes
-rw-r--r--docs/html/design/media/themes_holo_light.pngbin85709 -> 69149 bytes
-rw-r--r--docs/html/design/media/ui_overview_notifications.pngbin59824 -> 42615 bytes
-rw-r--r--docs/html/design/patterns/actionbar.jd14
-rw-r--r--docs/html/design/patterns/app-structure.jd32
-rw-r--r--docs/html/design/patterns/multi-pane-layouts.jd10
-rw-r--r--docs/html/design/patterns/swipe-views.jd3
16 files changed, 60 insertions, 47 deletions
diff --git a/docs/html/design/building-blocks/dialogs.jd b/docs/html/design/building-blocks/dialogs.jd
index 9b653ee..2820471 100644
--- a/docs/html/design/building-blocks/dialogs.jd
+++ b/docs/html/design/building-blocks/dialogs.jd
@@ -10,28 +10,29 @@ user to adjust settings or enter text.</p>
<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. As a rule, the dismissive action of a dialog is always on the left
- whereas the affirmative actions are on the right.</p>
-</li>
+ <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">
diff --git a/docs/html/design/building-blocks/index.jd b/docs/html/design/building-blocks/index.jd
index d915aae..e554775 100644
--- a/docs/html/design/building-blocks/index.jd
+++ b/docs/html/design/building-blocks/index.jd
@@ -11,7 +11,7 @@ footer.hide=1
#text-overlay {
position: absolute;
left: 0;
- top: 472px;
+ top: 520px;
width: 450px;
}
</style>
diff --git a/docs/html/design/building-blocks/tabs.jd b/docs/html/design/building-blocks/tabs.jd
index 19ed1c3..8a2eb41 100644
--- a/docs/html/design/building-blocks/tabs.jd
+++ b/docs/html/design/building-blocks/tabs.jd
@@ -6,6 +6,7 @@ page.title=Tabs
<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>
+<p>For details on using gestures to move between tabs, see the <a href="{@docRoot}design/patterns/swipe-views.html">Swipe Views</a> pattern.</p>
<h2 id="scrollable">Scrollable Tabs</h2>
@@ -36,7 +37,7 @@ to the next/previous view, swipe left or right.</p>
<h2 id="fixed">Fixed Tabs</h2>
-<p>Fixed tabs display all items concurrently. To navigate to a different view, touch the tab.</p>
+<p>Fixed tabs display all items concurrently. To navigate to a different view, touch the tab, or swipe left or right.</p>
<img src="{@docRoot}design/media/tabs_standard.png">
<div class="figure-caption">
diff --git a/docs/html/design/media/building_blocks_landing.png b/docs/html/design/media/building_blocks_landing.png
index 2da47b7..40ab0da 100644
--- a/docs/html/design/media/building_blocks_landing.png
+++ b/docs/html/design/media/building_blocks_landing.png
Binary files differ
diff --git a/docs/html/design/media/color_spectrum.png b/docs/html/design/media/color_spectrum.png
index 7d2c023..b7ab309 100644
--- a/docs/html/design/media/color_spectrum.png
+++ b/docs/html/design/media/color_spectrum.png
Binary files differ
diff --git a/docs/html/design/media/index_landing_page.png b/docs/html/design/media/index_landing_page.png
index 3f319b0..2d6eca4 100644
--- a/docs/html/design/media/index_landing_page.png
+++ b/docs/html/design/media/index_landing_page.png
Binary files differ
diff --git a/docs/html/design/media/multipane_show.png b/docs/html/design/media/multipane_show.png
index b10c91c..9993c9b 100644
--- a/docs/html/design/media/multipane_show.png
+++ b/docs/html/design/media/multipane_show.png
Binary files differ
diff --git a/docs/html/design/media/notifications_dismiss.png b/docs/html/design/media/notifications_dismiss.png
index 71bed4f..696a97f 100644
--- a/docs/html/design/media/notifications_dismiss.png
+++ b/docs/html/design/media/notifications_dismiss.png
Binary files differ
diff --git a/docs/html/design/media/themes_holo_dark.png b/docs/html/design/media/themes_holo_dark.png
index 0a5876a..e1f4477 100644
--- a/docs/html/design/media/themes_holo_dark.png
+++ b/docs/html/design/media/themes_holo_dark.png
Binary files differ
diff --git a/docs/html/design/media/themes_holo_inverse.png b/docs/html/design/media/themes_holo_inverse.png
index 50be4fb..528d119 100644
--- a/docs/html/design/media/themes_holo_inverse.png
+++ b/docs/html/design/media/themes_holo_inverse.png
Binary files differ
diff --git a/docs/html/design/media/themes_holo_light.png b/docs/html/design/media/themes_holo_light.png
index edc7f77..4f34bb3 100644
--- a/docs/html/design/media/themes_holo_light.png
+++ b/docs/html/design/media/themes_holo_light.png
Binary files differ
diff --git a/docs/html/design/media/ui_overview_notifications.png b/docs/html/design/media/ui_overview_notifications.png
index bc0513f..fe4375e 100644
--- a/docs/html/design/media/ui_overview_notifications.png
+++ b/docs/html/design/media/ui_overview_notifications.png
Binary files differ
diff --git a/docs/html/design/patterns/actionbar.jd b/docs/html/design/patterns/actionbar.jd
index 4206301..5cdf50b 100644
--- a/docs/html/design/patterns/actionbar.jd
+++ b/docs/html/design/patterns/actionbar.jd
@@ -66,7 +66,7 @@ content, such as an app title or longer branding information.
<p>
Show the most important actions of your app in the actions section. Actions that don't fit in the
-action bar are moved automatically to the action overflow.
+action bar are moved automatically to the action overflow. Long-press on an icon to view the action's name.
</p>
</li>
@@ -144,15 +144,19 @@ content of a CAB in order to insert the actions you would like the user to be ab
<p>For more information, refer to the <a href="{@docRoot}design/patterns/selection.html">Selection
pattern</a>.</p>
-<h2 id="elements">Action Bar Elements</h2>
+<h2 id="elements">View Controls</h2>
+<p>If your app displays data in different views, the action bar has three different controls to allow users to switch between them: tabs, spinners, and drawers.</p>
<h4>Tabs</h4>
-<p><em>Tabs</em> display app views concurrently and make it easy to explore and switch between them. Use tabs
-if you expect your users to switch views frequently.</p>
+<p><em>Tabs</em> display app views concurrently and make it easy to explore and switch between them. Tabs may be fixed, where all tabs are simultaneously displayed, or may scroll, allowing a larger number of views to be presented.</p>
<img src="{@docRoot}design/media/tabs_youtube.png">
-<p>There are two types of tabs: fixed and scrollable.</p>
+<p><strong>Use tabs if</strong>:</p>
+<ul>
+<li>You expect your app's users to switch views frequently.</li>
+<li>You want the user to be highly aware of the alternate views.</li>
+</ul>
<div class="layout-content-row">
<div class="layout-content-col span-6">
diff --git a/docs/html/design/patterns/app-structure.jd b/docs/html/design/patterns/app-structure.jd
index e2398ed..f90e4b1 100644
--- a/docs/html/design/patterns/app-structure.jd
+++ b/docs/html/design/patterns/app-structure.jd
@@ -185,28 +185,18 @@ collections of items. Then use multi-select to allow application of those action
in a category view.</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>
+<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.
-For immersive content, make use of the lights-out mode to allow for distraction-free viewing of
-full-screen content.</p>
-
- <img src="{@docRoot}design/media/app_structure_people_detail.png">
+<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_book_detail_page_flip.png">
- <div class="figure-caption">
- Google Books' detail view is all about replicating the experience of reading an actual book.
- The page-flip animation reinforces that notion. To create an immersive experience the app
- enters lights-out mode, which hides all system UI affordances.
- </div>
+ <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
@@ -217,6 +207,22 @@ full-screen content.</p>
</div>
</div>
+<div class="layout-content-row">
+ <div class="layout-content-col span-4">
+
+<h4>Lights-out mode</h4>
+<p>Immersive content like media and games is best experienced full screen without distractions. But that doesn't mean you can't also offer actions on the content like sharing, commenting, or searching. If the user hasn't interacted with any of the controls after a short period of time, automatically fade away the action bar and all system UI affordances so the user can lean back and enjoy the content. We call this lights-out mode. Later, if the user wants to take some action, they can touch anywhere on the screen to exit lights-out mode and bring back the controls.</p>
+
+ </div>
+ <div class="layout-content-col span-9">
+
+ <img src="{@docRoot}design/media/app_structure_book_detail_page_flip.png">
+ <div class="figure-caption">
+ Google Books' detail view replicates the immersive experience of reading an actual book through lights-out mode and a page-flip animation.
+ </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 filmstrips,
diff --git a/docs/html/design/patterns/multi-pane-layouts.jd b/docs/html/design/patterns/multi-pane-layouts.jd
index 0e63e32..f752be2 100644
--- a/docs/html/design/patterns/multi-pane-layouts.jd
+++ b/docs/html/design/patterns/multi-pane-layouts.jd
@@ -26,8 +26,8 @@ left pane. Make sure to keep the item in the left pane selected in order to esta
relationship between the panels.</p>
<h2 id="orientation">Compound Views and Orientation Changes</h2>
-<p>Screens should have the same functionality regardless of orientation. If you use a compound view in
-one orientation, don't split it up when the user rotates the screen. There are several techniques
+<p>Screens should strive to have the same functionality regardless of orientation. If you use a compound view in
+one orientation, try not to split it up when the user rotates the screen. There are several techniques
you can use to adjust the layout after orientation change while keeping functional parity intact.</p>
<div class="layout-content-row">
@@ -83,9 +83,7 @@ width and vice versa.</p>
<div class="layout-content-col span-5">
<h4>Show/hide</h4>
-<p>After rotating the device, show the right pane in fullscreen view. Use the Up icon in the action bar
-to show the left panel and allow navigation to a different email. Hide the left panel by touching
-the content in the detail panel.</p>
+<p>If your screen cannot accommodate the compound view on rotation show the right pane in full screen view on rotation to portrait. Use the Up icon in action bar to show the parent screen.</p>
</div>
</div>
@@ -104,7 +102,7 @@ the content in the detail panel.</p>
<p>Look for opportunities to consolidate your views into multi-panel compound views.</p>
</li>
<li>
-<p>Make sure that your screens provide functional parity after the screen orientation
+<p>Make sure that your screens try to provide functional parity after the screen orientation
changes.</p>
</li>
</ul>
diff --git a/docs/html/design/patterns/swipe-views.jd b/docs/html/design/patterns/swipe-views.jd
index 95d65dd..93592a7 100644
--- a/docs/html/design/patterns/swipe-views.jd
+++ b/docs/html/design/patterns/swipe-views.jd
@@ -65,6 +65,9 @@ using the swipe gesture to navigate to the next/previous detail view.</p>
the swipe gesture.</p>
</li>
<li>
+<p>If a view contains content that exceeds the width of the screen (e.g. a wide Email message), make sure the user's initial swipes will scroll horizontally within the view. Once the end of the content is reached, an additional swipe should navigate to the next view. In addition, support the use of edge swipes to immediately navigate between views when content scrolls horizontally.</p>
+</li>
+<li>
<p>Consider adding contextual information in your detail view that informs the user about the
relative list position of the currently visible item.</p>
</li>