blob: dd10a8a606b01ad001c221492c1064807c9443dc [file] [log] [blame]
page.title=Style for TV
@jd:body
<p>Follow these style guidelines to create beautiful, functional apps for TV.</p>
<h2>Layouts</h2>
<p>The difference between a TV experience that feels right and one that does not greatly depends
on the number, spacing, and size of on-screen elements. Although TV sizes and resolutions have
steadily increased over time, users expect TV experiences to be relatively simple and
uncluttered.</p>
<p>The additional resolution and screen area afforded by modern displays is best used to display
things at better quality, rather than greater quantity. For example, use your layouts to show
large, beautiful pieces of content, or to resize type for both easy reading and generous spacing.
</p>
<p>If you are creating an app for browsing and playing content, use the prebuilt fragments in the
<a href="{@docRoot}tools/support-library/features.html#v17-leanback">v17 leanback support
library</a>. These layouts have been built specifically for use on TV devices with
the guidance of the Android User Experience team. For more information on using these classes,
see the <a href="{@docRoot}training/tv/index.html">Building Apps for TV</a> training.
</p>
<p>Here are some additional recommendations for creating functional and attractive layouts for TV
apps:</p>
<ul>
<li>Design layouts for landscape orientation. TV screens always use this
orientation.</li>
<li>Design your artwork assets for best viewing at HD resolution (1920 x 1080 pixels).</li>
<li>Put on-screen navigational controls on the left or right side of the screen, and
save the vertical space for content.</li>
<li>Use <a href="{@docRoot}guide/components/fragments.html">fragments</a> to create UIs that are
divided into sections, and use view groups like <a href=
"{@docRoot}guide/topics/ui/layout/gridview.html">Grid View</a> instead of <a href=
"{@docRoot}guide/topics/ui/layout/listview.html">List View</a> to make better use of the
horizontal screen space.
</li>
<li>Avoid a cluttered interface by adding sufficient margins between layout controls.</li>
</ul>
<h3>Overscan</h3>
<p>During the evolution of TV technology, overscan originally described an area of TV content
outside of a safe zone that most TVs could reliably display. Even on some of todays HDTV flat
screens, areas outside that zone may not be visible.</p>
<img src="{@docRoot}design/tv/images/overscan.png" alt="Overscan borders for TV" />
<p>Build a 10% margin into your TV screen designs to account for overscan area the TV may not
display correctly. On a 1920 x 1080 pixel screen, this margin should be a minimum of 27px from the
top and bottom edges and a minimum of 48px from the right and left edges of the picture.</p>
<h2>Color</h2>
<p>Color rendering on televisions can be imprecise compared to computer monitors or mobile
devices. LCD and Plasma TVs often apply smoothing and sharpening filters, and color rendering may
not match what you see on a computer screen.</p>
<p>Subtle hue or brightness differences between elements may disappear or be over-emphasized on
TV screens. Some color gradient combinations will show bands. You should avoid pure whites on
large areas of the screen. For highly saturated colors (especially reds, greens and blues) you
should review them when used to fill significant areas of the screen. You
should also avoid using very dark or muddy colors, as TV settings may display these colors with
exaggerated contrast, causing them to be indistinguishable.</p>
<h2 id="typography">Typography</h2>
<p>The text and controls in a TV application's UI should be easily visible and navigable from a
distance. The minimum recommended font size for TV is 12sp. The default text size setting should
be 18sp. We recommend the following guidelines for TV apps:</p>
<ul>
<li><strong>Card Titles:</strong> Roboto Condensed 16sp</li>
<li><strong>Card Subtext:</strong> Roboto Condensed 12sp</li>
<li><strong>Browse Screen Title:</strong> Roboto Regular 44sp</li>
<li><strong>Browse Category Title:</strong> Roboto Condensed 20sp</li>
<li><strong>Details Content Titles:</strong> Roboto Regular 34sp</li>
<li><strong>Details Subtext:</strong> Roboto Regular 14sp</li>
</ul>
<p>Some TVs have strong sharpness and contrast settings as their defaults. These picture
settings make thin and light typefaces look jagged and make the text difficult for people to read.
Therefore you should avoid thin or light typefaces on TV.</p>
<h2>Text</h2>
<p>Use text in TV apps sparingly. The position of users relative to a TV screen
(typically about 10 feet away) makes it harder for users to read text. Users also don't expect to
read much in a TV environment. Follow these tips for the best handling of text in your app:</p>
<ul>
<li>Break text into small chunks that users can quickly scan.</li>
<li>Use light text on a dark background. This style is easier to read on a TV.</li>
<li>Avoid lightweight fonts or fonts that have both very narrow and very broad
strokes. Use simple sans-serif fonts and anti-aliasing to increase readability.</li>
<li>Use layout-relative sizing rather than absolute sizing, and density-independent
pixel units instead of absolute pixel units.</li>
</ul>