blob: 9f36fed60ec21dfdd221ba6159713f39417444a0 [file] [log] [blame]
page.title=Touch Feedback
page.tags=input,button
@jd:body
<div class="layout-content-row" style="margin-bottom: -100px">
<div class="layout-content-col span-7">
<p>Use illumination and dimming to respond to touches, reinforce the resulting behaviors
of gestures, and indicate what actions are enabled and disabled.</p>
<p><strong>Be responsive to touches in a gentle way</strong>. Whenever a user touches an
actionable area in your app, let them know the app is "listening" by providing a visual
response. Make it subtle &mdash;just slightly lighter or darker than the untouched color. This
provides two benefits:</p>
<ul>
<li><a href="{@docRoot}design/get-started/principles.html#sprinkle-encouragement">Sprinkles
of encouragement</a> are more pleasant than jolts.</li>
<li>Incorporating <a href="{@docRoot}design/style/branding.html">your branding</a> is much
easier because the default touch feedback works with whatever hue you choose.</li>
</ul>
</div>
<div class="layout-content-col span-6" style="float:right;">
<video class="play-on-hover" width="268" height="442" autoplay style="border:1px solid #ddd;background-color:#f9f9f9;" poster="">
<source src="{@docRoot}design/media/touch_feedback.mp4" type="video/mp4">
<source src="{@docRoot}design/media/touch_feedback.webm" type="video/webm">
<source src="{@docRoot}design/media/touch_feedback.ogv" type="video/ogg">
</video>
<div class="figure-caption">
<div style="color:#a3a3a3;margin-left:130px;"><em>Click image to replay...</em></div>
</div>
</div>
<h4 style="clear:both;">States</h4>
<div class="vspace size-1">&nbsp;</div>
<img src="{@docRoot}design/media/touch_feedback_states.png">
<div class="figure-caption">
Most of Android's UI elements have touch feedback built in, including
states that indicate whether touching the element will have any effect.
</div>
<div class="vspace size-3">&nbsp;</div>
<div class="layout-content-row">
<div class="layout-content-col span-6">
<h4>Communication</h4>
<p>When your objects react to more complex gestures, help users
understand what the outcome will be.</p>
<p>In Recents, when a user starts swiping a thumbnail left or right, it
begins to dim. This helps the user understand that swiping will cause the
item to be removed.</p>
</div>
<div class="layout-content-col span-7">
<img src="{@docRoot}design/media/touch_feedback_manipulation.png">
</div>
</div>
<div class="vspace size-3">&nbsp;</div>
<div class="layout-content-row">
<div class="layout-content-col span-6">
<img src="{@docRoot}design/media/touch_feedback_communication.png">
<p><em>If a user attempts to scroll past the last home screen panel, the screen
content tilts to the right to indicate that further navigation in this direction
isn’t possible.</em></p>
</div>
<div class="layout-content-col span-6">
<h4>Boundaries</h4>
<p>
When users try to scroll past the beginning or end of a scrollable area,
communicate the boundary with a visual cue. Many of Android's scrollable UI
widgets, like lists and grid lists, have support for boundary feedback built
in. If youre building custom widgets, keep boundary feedback in mind and
provide it from within your app.
</p>