454 lines
14 KiB
HTML
454 lines
14 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<title>
|
|
|
|
Android Design - Design Principles
|
|
</title>
|
|
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
|
|
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic,mediumitalic">
|
|
<link rel="stylesheet" href="../static/yui-3.3.0-reset-min.css">
|
|
<link rel="stylesheet" href="../static/default.css">
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<div id="page-container">
|
|
|
|
<div id="page-header"><a href="../index.html">Android Design</a></div>
|
|
|
|
<div id="main-row">
|
|
|
|
<ul id="nav">
|
|
|
|
<li class="nav-section">
|
|
<div class="nav-section-header"><a href="../index.html">Get Started</a></div>
|
|
<ul>
|
|
<li><a href="../get-started/creative-vision.html">Creative Vision</a></li>
|
|
<li><a href="../get-started/principles.html">Design Principles</a></li>
|
|
<li><a href="../get-started/ui-overview.html">UI Overview</a></li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li class="nav-section">
|
|
<div class="nav-section-header"><a href="../style/index.html">Style</a></div>
|
|
<ul>
|
|
<li><a href="../style/devices-displays.html">Devices and Displays</a></li>
|
|
<li><a href="../style/themes.html">Themes</a></li>
|
|
<li><a href="../style/touch-feedback.html">Touch Feedback</a></li>
|
|
<li><a href="../style/metrics-grids.html">Metrics and Grids</a></li>
|
|
<li><a href="../style/typography.html">Typography</a></li>
|
|
<li><a href="../style/color.html">Color</a></li>
|
|
<li><a href="../style/iconography.html">Iconography</a></li>
|
|
<li><a href="../style/writing.html">Writing Style</a></li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li class="nav-section">
|
|
<div class="nav-section-header"><a href="../patterns/index.html">Patterns</a></div>
|
|
<ul>
|
|
<li><a href="../patterns/new-4-0.html">New in Android 4.0</a></li>
|
|
<li><a href="../patterns/gestures.html">Gestures</a></li>
|
|
<li><a href="../patterns/app-structure.html">App Structure</a></li>
|
|
<li><a href="../patterns/navigation.html">Navigation</a></li>
|
|
<li><a href="../patterns/actionbar.html">Action Bar</a></li>
|
|
<li><a href="../patterns/multi-pane-layouts.html">Multi-pane Layouts</a></li>
|
|
<li><a href="../patterns/swipe-views.html">Swipe Views</a></li>
|
|
<li><a href="../patterns/selection.html">Selection</a></li>
|
|
<li><a href="../patterns/notifications.html">Notifications</a></li>
|
|
<li><a href="../patterns/compatibility.html">Compatibility</a></li>
|
|
<li><a href="../patterns/pure-android.html">Pure Android</a></li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li class="nav-section">
|
|
<div class="nav-section-header"><a href="../building-blocks/index.html">Building Blocks</a></div>
|
|
<ul>
|
|
<li><a href="../building-blocks/tabs.html">Tabs</a></li>
|
|
<li><a href="../building-blocks/lists.html">Lists</a></li>
|
|
<li><a href="../building-blocks/grid-lists.html">Grid Lists</a></li>
|
|
<li><a href="../building-blocks/scrolling.html">Scrolling</a></li>
|
|
<li><a href="../building-blocks/spinners.html">Spinners</a></li>
|
|
<li><a href="../building-blocks/buttons.html">Buttons</a></li>
|
|
<li><a href="../building-blocks/text-fields.html">Text Fields</a></li>
|
|
<li><a href="../building-blocks/seek-bars.html">Seek Bars</a></li>
|
|
<li><a href="../building-blocks/progress.html">Progress & Activity</a></li>
|
|
<li><a href="../building-blocks/switches.html">Switches</a></li>
|
|
<li><a href="../building-blocks/dialogs.html">Dialogs</a></li>
|
|
<li><a href="../building-blocks/pickers.html">Pickers</a></li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>
|
|
<div id="back-dac-section"><a href="../../index.html">Developers</a></div>
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
<div id="content">
|
|
|
|
|
|
<div class="layout-content-row content-header">
|
|
<div class="layout-content-col span-9">
|
|
<h2>Design Principles</h2>
|
|
</div>
|
|
<div class="paging-links layout-content-col span-4">
|
|
<a href="#" class="prev-page-link">Previous</a>
|
|
<a href="#" class="next-page-link">Next</a>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<p>These design principles were developed by and for the Android User Experience Team to keep users'
|
|
best interests in mind. Consider them as you apply your own creativity and design thinking. Deviate
|
|
with purpose.</p>
|
|
|
|
<h2>Enchant Me</h2>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>Delight me in surprising ways</h4>
|
|
<p>A beautiful surface, a carefully-placed animation, or a well-timed sound effect is a joy to
|
|
experience. Subtle effects contribute to a feeling of effortlessness and a sense that a powerful
|
|
force is at hand.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_delight.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspace size-2"> </div>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>Real objects are more fun than buttons and menus</h4>
|
|
<p>Allow people to directly touch and manipulate objects in your app. It reduces the cognitive effort
|
|
needed to perform a task while making it more emotionally satisfying.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_real_objects.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspace size-2"> </div>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>Let me make it mine</h4>
|
|
<p>People love to add personal touches because it helps them feel at home and in control. Provide
|
|
sensible, beautiful defaults, but also consider fun, optional customizations that don't hinder
|
|
primary tasks.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_make_it_mine.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspace size-2"> </div>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>Get to know me</h4>
|
|
<p>Learn peoples' preferences over time. Rather than asking them to make the same choices over and
|
|
over, place previous choices within easy reach.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_get_to_know_me.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<h2>Simplify My Life</h2>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>Keep it brief</h4>
|
|
<p>Use short phrases with simple words. People are likely to skip sentences if they're long.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_keep_it_brief.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspace size-2"> </div>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>Pictures are faster than words</h4>
|
|
<p>Consider using pictures to explain ideas. They get people's attention and can be much more efficient
|
|
than words.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_pictures.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspace size-2"> </div>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>Decide for me but let me have the final say</h4>
|
|
<p>Take your best guess and act rather than asking first. Too many choices and decisions make people
|
|
unhappy. Just in case you get it wrong, allow for 'undo'.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_decide_for_me.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspace size-2"> </div>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>Only show what I need when I need it</h4>
|
|
<p>People get overwhelmed when they see too much at once. Break tasks and information into small,
|
|
digestible chunks. Hide options that aren't essential at the moment, and teach people as they go.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_information_when_need_it.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspace size-2"> </div>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>I should always know where I am</h4>
|
|
<p>Give people confidence that they know their way around. Make places in your app look distinct and
|
|
use transitions to show relationships among screens. Provide feedback on tasks in progress.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_navigation.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspace size-2"> </div>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>Never lose my stuff</h4>
|
|
<p>Save what people took time to create and let them access it from anywhere. Remember settings,
|
|
personal touches, and creations across phones, tablets, and computers. It makes upgrading the
|
|
easiest thing in the world.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_never_lose_stuff.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspace size-2"> </div>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>If it looks the same, it should act the same</h4>
|
|
<p>Help people discern functional differences by making them visually distinct rather than subtle.
|
|
Avoid modes, which are places that look similar but act differently on the same input.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_looks_same.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspace size-2"> </div>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>Only interrupt me if it's important</h4>
|
|
<p>Like a good personal assistant, shield people from unimportant minutiae. People want to stay
|
|
focused, and unless it's critical and time-sensitive, an interruption can be taxing and frustrating.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_important_interruption.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<h2>Make Me Amazing</h2>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>Give me tricks that work everywhere</h4>
|
|
<p>People feel great when they figure things out for themselves. Make your app easier to learn by
|
|
leveraging visual patterns and muscle memory from other Android apps. For example, the swipe gesture
|
|
may be a good navigational shortcut.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_tricks.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspace size-2"> </div>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>It's not my fault</h4>
|
|
<p>Be gentle in how you prompt people to make corrections. They want to feel smart when they use your
|
|
app. If something goes wrong, give clear recovery instructions but spare them the technical details.
|
|
If you can fix it behind the scenes, even better.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_error.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspace size-2"> </div>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>Sprinkle encouragement</h4>
|
|
<p>Break complex tasks into smaller steps that can be easily accomplished. Give feedback on actions,
|
|
even if it's just a subtle glow.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_sprinkle_encouragement.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspace size-2"> </div>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>Do the heavy lifting for me</h4>
|
|
<p>Make novices feel like experts by enabling them to do things they never thought they could. For
|
|
example, shortcuts that combine multiple photo effects can make amateur photographs look amazing in
|
|
only a few steps.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_heavy_lifting.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vspace size-2"> </div>
|
|
|
|
<div class="layout-content-row">
|
|
<div class="layout-content-col span-7">
|
|
|
|
<h4>Make important things fast</h4>
|
|
<p>Not all actions are equal. Decide what's most important in your app and make it easy to find and
|
|
fast to use, like the shutter button in a camera, or the pause button in a music player.</p>
|
|
|
|
</div>
|
|
<div class="layout-content-col span-6">
|
|
|
|
<img src="../static/content/principles_make_important_fast.png">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="layout-content-row content-footer">
|
|
<div class="paging-links layout-content-col span-9"> </div>
|
|
<div class="paging-links layout-content-col span-4">
|
|
<a href="#" class="prev-page-link">Previous</a>
|
|
<a href="#" class="next-page-link">Next</a>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="page-footer">
|
|
|
|
<p id="copyright">
|
|
Except as noted, this content is licensed under
|
|
<a href="http://creativecommons.org/licenses/by/2.5/">
|
|
Creative Commons Attribution 2.5</a>.<br>
|
|
For details and restrictions, see the
|
|
<a href="http://developer.android.com/license.html">Content License</a>.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="http://www.android.com/terms.html">Site Terms of Service</a> –
|
|
<a href="http://www.android.com/privacy.html">Privacy Policy</a> –
|
|
<a href="http://www.android.com/branding.html">Brand Guidelines</a>
|
|
</p>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<script src="../static/jquery-1.6.2.min.js"></script>
|
|
<script>
|
|
var SITE_ROOT = '../';
|
|
</script>
|
|
<script src="../static/default.js"></script>
|
|
|
|
|
|
<script type="text/javascript">
|
|
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
|
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
|
</script>
|
|
<script type="text/javascript">
|
|
var pageTracker = _gat._getTracker("UA-5831155-1");
|
|
pageTracker._trackPageview();
|
|
</script>
|
|
</body>
|
|
</html>
|