Home | History | Annotate | Download | only in support-library
      1 page.title=Support Library Features
      2 
      3 @jd:body
      4 
      5 <div id="qv-wrapper">
      6   <div id="qv">
      7 
      8     <h2>In this document</h2>
      9     <ol>
     10       <li><a href="#v4">v4 Support Library</a></li>
     11       <li><a href="#multidex">Multidex Support Library</a></li>
     12       <li><a href="#v7">v7 Support Libraries</a>
     13         <ol>
     14           <li><a href="#v7-appcompat">v7 appcompat library</a></li>
     15           <li><a href="#v7-cardview">v7 cardview library</a></li>
     16           <li><a href="#v7-gridlayout">v7 gridlayout library</a></li>
     17           <li><a href="#v7-mediarouter">v7 mediarouter library</a></li>
     18           <li><a href="#v7-palette">v7 palette library</a></li>
     19           <li><a href="#v7-recyclerview">v7 recyclerview library</a></li>
     20           <li><a href="#v7-preference">v7 preference library</a></li>
     21         </ol>
     22       </li>
     23       <li><a href="#v8">v8 Support Library</a></li>
     24       <li><a href="#v13">v13 Support Library</a></li>
     25       <li><a href="#v14-preference">v14 Preference Support Library</a></li>
     26       <li><a href="#v17-leanback">v17 Leanback Library</a></li>
     27       <li><a href="#v17-preference">v17 Preference Library for TV</a></li>
     28       <li><a href="#annotations">Annotations Support Library</a></li>
     29       <li><a href="#design">Design Support Library</a></li>
     30       <li><a href="#custom-tabs">Custom Tabs Support Library</a></li>
     31       <li><a href="#percent">Percent Support Library</a></li>
     32       <li><a href="#recommendation">Recommendation Support Library for TV</a></li>
     33     </ol>
     34 
     35     <h2>See also</h2>
     36     <ol>
     37       <li><a href="{@docRoot}tools/support-library/index.html#revisions">
     38         Support Library Revisions</a></li>
     39       <li><a href="{@docRoot}tools/support-library/setup.html">
     40         Support Library Setup</a></li>
     41     </ol>
     42 
     43   </div>
     44 </div>
     45 
     46 <p>The Android Support Library package contains several libraries that can be included
     47   in your application. Each of these libraries supports a specific range of Android platform
     48   versions and set of features.</p>
     49 
     50 <p>This guide explains the important features and version support provided by the Support
     51   Libraries to help you decide which of them you should include in your application. In general,
     52   we recommend including the <a href="#v4">v4 support</a> and <a href="#v7-appcompat">v7
     53   appcompat</a> libraries, because they support a wide range of
     54   Android versions and provide APIs for recommended user interface patterns.</p>
     55 
     56 <p>In order to use any of the following libraries, you must download the library files to your
     57   Android SDK installation. Follow the directions for downloading the Support Libraries in
     58   <a href="{@docRoot}tools/support-library/setup.html#download">Support Library Setup</a> to
     59   complete this step. You must take additional steps to include a specific Support Library in
     60   your application. See the end of each library section below for important information on how to
     61   include the library in your application.</p>
     62 
     63 
     64 <h2 id="v4">v4 Support Library</h2>
     65 
     66 <p>This library is designed to be used with Android 1.6 (API level 4) and higher. It includes the
     67   largest set of APIs compared to the other libraries, including support for application components,
     68   user interface features, accessibility, data handling, network connectivity, and programming
     69   utilities. Here are a few of the key classes included in the v4 library:</p>
     70 
     71 <ul>
     72   <li>App Components
     73     <ul>
     74       <li>{@link android.support.v4.app.Fragment}
     75         - Adds support for encapsulation of user interface and functionality
     76         with Fragments, enabling
     77         applications to provide layouts that adjust between small and
     78         large-screen devices.
     79        </li>
     80 
     81       <li>{@link android.support.v4.app.NotificationCompat} - Adds support for rich notification
     82         features.</li>
     83       <li>{@link android.support.v4.content.LocalBroadcastManager} - Allows applications to easily
     84         register for and receive intents within a single application without broadcasting them
     85         globally.</li>
     86     </ul>
     87   </li>
     88   <li>User Interface
     89     <ul>
     90       <li>{@link android.support.v4.view.ViewPager} - Adds a
     91       {@link android.view.ViewGroup} that manages the layout for the
     92       child views, which the user can swipe between.</li>
     93       <li>{@link android.support.v4.view.PagerTitleStrip}
     94         - Adds a non-interactive title strip, that can be added as a child of
     95         {@link android.support.v4.view.ViewPager}.</li>
     96       <li>{@link android.support.v4.view.PagerTabStrip} - Adds a
     97         navigation widget for switching between paged views, that can also be used with
     98         {@link android.support.v4.view.ViewPager}.</li>
     99       <li>{@link android.support.v4.widget.DrawerLayout} - Adds
    100       support for creating a <a href="{@docRoot}training/implementing-navigation/nav-drawer.html"
    101       >Navigation Drawer</a> that can be pulled in from the edge of a window.</li>
    102       <li>{@link android.support.v4.widget.SlidingPaneLayout}
    103         - Adds widget for creating linked summary and detail views that
    104         appropriately adapt to various screen sizes.</li>
    105     </ul>
    106   </li>
    107   <li>Accessibility
    108     <ul>
    109       <li>{@link android.support.v4.widget.ExploreByTouchHelper}
    110         - Adds a helper class for implementing accessibility support for custom views.</li>
    111       <li>{@link android.support.v4.view.accessibility.AccessibilityEventCompat} - Adds support for
    112       {@link android.view.accessibility.AccessibilityEvent}. For more information about implementing
    113       accessibility, see <a href="{@docRoot}guide/topics/ui/accessibility/index.html"
    114       >Accessibility</a>.</li>
    115 
    116       <li>{@link android.support.v4.view.accessibility.AccessibilityNodeInfoCompat} - Adds support
    117       for {@link android.view.accessibility.AccessibilityNodeInfo}.</li>
    118       <li>{@link android.support.v4.view.accessibility.AccessibilityNodeProviderCompat} - Adds
    119       support for {@link android.view.accessibility.AccessibilityNodeProvider}.</li>
    120       <li>{@link android.support.v4.view.AccessibilityDelegateCompat} - Adds support for
    121       {@link android.view.View.AccessibilityDelegate}.</li>
    122     </ul>
    123   </li>
    124   <li>Content
    125     <ul>
    126       <li>{@link android.support.v4.content.Loader} - Adds support for asynchronous loading of data.
    127         The library also provides concrete implementations of this class, including
    128         {@link android.support.v4.content.CursorLoader} and
    129         {@link android.support.v4.content.AsyncTaskLoader}.</li>
    130       <li>{@link android.support.v4.content.FileProvider} - Adds support for sharing of private
    131         files between applications.</li>
    132     </ul>
    133   </li>
    134 </ul>
    135 
    136 <p>
    137   There are many other APIs included in this library. For complete, detailed information about the
    138   v4 Support Library APIs, see the {@link android.support.v4.app android.support.v4} package in the
    139   API reference.
    140 </p>
    141 
    142 <p>After you download the Android Support Libraries, this library is located in the
    143 {@code &lt;sdk&gt;/extras/android/support/v4/} directory. The library does not contain user
    144 interface resources. To include it in your application project, follow the instructions for
    145 <a href="{@docRoot}tools/support-library/setup.html#libs-without-res">Adding libraries without
    146 resources</a>.</p>
    147 
    148 <p class="caution"><strong>Caution:</strong> Using dynamic dependencies, especially for higher version
    149 numbers, can cause unexpected version updates and regression incompatibilities.</p>
    150 
    151 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    152 
    153 <pre>
    154 com.android.support:support-v4:21.0.0
    155 </pre>
    156 
    157 
    158 
    159 <h2 id="multidex">Multidex Support Library</h2>
    160 
    161 <p>
    162   This library provides support for building apps with multiple Dalvik Executable (DEX) files.
    163   Apps that reference more than 65536 methods are required to use multidex configurations. For
    164   more information about using multidex, see <a href="{@docRoot}tools/building/multidex.html">
    165   Building Apps with Over 65K Methods</a>.
    166 </p>
    167 
    168 <p>
    169   After you download the Android Support Libraries, this library is located in the
    170   {@code &lt;sdk&gt;/extras/android/support/multidex/} directory. The library does not contain
    171   user interface resources. To include it in your application project, follow the instructions
    172   for
    173   <a href= "{@docRoot}tools/support-library/setup.html#libs-without-res">Adding libraries without
    174   resources</a>.
    175 </p>
    176 
    177 <p>
    178   The Gradle build script dependency identifier for this library is as follows:
    179 </p>
    180 
    181 <pre>
    182 com.android.support:multidex:1.0.0
    183 </pre>
    184 
    185 
    186 
    187 <h2 id="v7">v7 Support Libraries</h2>
    188 
    189 <p>There are several libraries designed to be used with Android 2.1 (API level 7) and higher.
    190   These libraries provide specific feature sets and can be included in your application
    191   independently from each other.</p>
    192 
    193 
    194 <h3 id="v7-appcompat">v7 appcompat library</h3>
    195 
    196 <p>This library adds support for the
    197   <a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> user
    198   interface <a href="{@docRoot}design/patterns/actionbar.html">design
    199   pattern</a>. This library includes support for
    200   <a href="{@docRoot}design/material/">material design</a> user interface
    201   implementations.
    202 </p>
    203 
    204 <p class="note"><strong>Note:</strong>
    205   This library depends on the v4 Support Library. If you are using Ant or Eclipse, make sure
    206   you include the v4 Support Library as part of this library's classpath.
    207 </p>
    208 
    209 <p>Here are a few of the key classes included in the v7 appcompat library:</p>
    210 
    211 <ul>
    212   <li>{@link android.support.v7.app.ActionBar} - Provides an implementation of the action bar
    213       <a href="{@docRoot}design/patterns/actionbar.html">user interface pattern</a>. For more
    214       information on using the Action Bar, see the
    215       <a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer guide.
    216   </li>
    217   <li>{@link android.support.v7.app.AppCompatActivity} - Adds an application activity class that can
    218        be used as a base class for activities that use the Support Library action bar
    219        implementation.
    220   </li>
    221   <li>{@link android.support.v7.app.AppCompatDialog} - Adds a dialog class that can be used as a base
    222       class for AppCompat themed dialogs.
    223   </li>
    224   <li>{@link android.support.v7.widget.ShareActionProvider} - Adds support for a standardized
    225     sharing action (such as email or posting to social applications) that can be included in an
    226     action bar.
    227   </li>
    228 </ul>
    229 
    230 <p>After you download the Android Support Libraries, this library is located in the
    231 {@code &lt;sdk&gt;/extras/android/support/v7/appcompat/} directory. The library contains user
    232 interface resources. To include it in your application project, follow the instructions for
    233 <a href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries with
    234 resources</a>.</p>
    235 
    236 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    237 
    238 <pre>
    239 com.android.support:appcompat-v7:21.0.0
    240 </pre>
    241 
    242 
    243 
    244 <h3 id="v7-cardview">v7 cardview library</h3>
    245 
    246 <p>This library adds support for the {@link android.support.v7.widget.CardView}
    247 widget, which lets you show information inside cards that have a consistent look
    248 on any app. These cards are useful for material design
    249 implementations, and are used extensively in layouts for TV apps.</p>
    250 
    251 <p>After you download the Android Support Libraries, this library is located in the
    252 {@code &lt;sdk&gt;/extras/android/support/v7/cardview/} directory. The library contains user interface
    253 resources. To include it in your application project, follow the instructions
    254 for <a href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding
    255 libraries with resources</a>.</p>
    256 
    257 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    258 
    259 <pre>
    260 com.android.support:cardview-v7:21.0.0
    261 </pre>
    262 
    263 
    264 
    265 <h3 id="v7-gridlayout">v7 gridlayout library</h3>
    266 
    267 <p>After you download the Android Support Libraries, this library adds support for the
    268 {@link android.support.v7.widget.GridLayout} class, which
    269 allows you to arrange user interface elements using a grid of rectangular cells.
    270 For detailed information about the v7 gridlayout library APIs, see the
    271 {@link android.support.v7.widget android.support.v7.widget} package in the API reference.</p>
    272 
    273 <p>This library is located in the {@code &lt;sdk&gt;/extras/android/support/v7/gridlayout/}
    274   directory . The library contains user
    275   interface resources. To include it in your application project, follow the instructions for
    276   <a href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries with
    277   resources</a>.</p>
    278 
    279 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    280 
    281 <pre>
    282 com.android.support:gridlayout-v7:21.0.0
    283 </pre>
    284 
    285 
    286 
    287 <h3 id="v7-mediarouter">v7 mediarouter library</h3>
    288 
    289 <p>This library provides {@link android.support.v7.media.MediaRouter}, {@link
    290 android.support.v7.media.MediaRouteProvider}, and related media classes that
    291 support <a href="https://developers.google.com/cast/docs/android_sender">Google Cast</a>. </p>
    292 
    293 <p>In general, the APIs in the v7 mediarouter library provide a means of
    294 controlling the routing of media channels and streams from the current device to
    295 external screens, speakers, and other destination devices. The library includes
    296 APIs for publishing app-specific media route providers, for discovering and
    297 selecting destination devices, for checking media status, and more. For detailed
    298 information about the v7 mediarouter library APIs, see the
    299 {@link android.support.v7.media android.support.v7.media} package in the API
    300 reference.</p>
    301 
    302 <p>The v7 mediarouter library is located in the
    303 <code>&lt;sdk&gt;/extras/android/support/v7/mediarouter/</code> directory after
    304 you download the Android Support Library. It's provided as a library project
    305 with a dependency on the v7 appcompat library, so you'll need to include both
    306 libraries in your build path when setting up your project. For more information
    307 on how to set up your project, follow the instructions in <a
    308 href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
    309 with resources</a>. If you are developing in Eclipse/ADT, make sure to include
    310 both the <code>android-support-v7-mediarouter.jar</code> and
    311 <code>android-support-v7-appcompat.jar</code> files.</p>
    312 
    313 <p>If you are using Android Studio, all you need to do is specify the Gradle build
    314 script dependency identifier <code>com.android.support:support-v7-mediarouter:&lt;revision&gt;</code>,
    315 where "&lt;revision&gt;" is the minimum revision at which the library is available. For example:</p>
    316 
    317 <pre>
    318 com.android.support:mediarouter-v7:21.0.0
    319 </pre>
    320 
    321 <p class="caution">The v7 mediarouter library APIs introduced in Support Library
    322 r18 are subject to change in later revisions of the Support Library. At this
    323 time, we recommend using the library only in connection with <a
    324 href="https://developers.google.com/cast/docs/android_sender">Google Cast</a>. </p>
    325 
    326 <h3 id="v7-palette">v7 palette library</h3>
    327 
    328 <p>The v7 palette support library includes the
    329 {@link android.support.v7.graphics.Palette} class, which lets you extract
    330 prominent colors from an image. For example, a music app could use a
    331 {@link android.support.v7.graphics.Palette} object to extract the major colors
    332 from an album cover, and use those colors to build a color-coordinated song
    333 title card.</p>
    334 
    335 <p>After you download the Android Support Libraries, this library is located in the
    336 {@code &lt;sdk&gt;/extras/android/support/v7/palette/} directory. The library does not contain
    337 user interface resources. To include it in your application project, follow the instructions for
    338 <a href="{@docRoot}tools/support-library/setup.html#libs-without-res">Adding libraries without
    339 resources</a>.</p>
    340 
    341 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    342 
    343 <pre>
    344 com.android.support:palette-v7:21.0.0
    345 </pre>
    346 
    347 
    348 
    349 <h3 id="v7-recyclerview">v7 recyclerview library</h3>
    350 
    351 <p>The recyclerview library adds the {@link android.support.v7.widget.RecyclerView}
    352 class. This class provides support for the
    353 <a href="{@docRoot}training/material/lists-cards#RecyclerView">RecyclerView
    354 widget</a>, a view for efficiently displaying large data sets by providing a
    355 limited window of data items.</p>
    356 
    357 <p>After you download the Android Support Libraries, this library is located in the
    358 {@code &lt;sdk&gt;/extras/android/support/v7/recyclerview/} directory. The library contains
    359 user interface resources. To include it in your application project, follow the instructions
    360 for <a href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding
    361 libraries with resources</a>.</p>
    362 
    363 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    364 
    365 <pre>
    366 com.android.support:recyclerview-v7:21.0.0
    367 </pre>
    368 
    369 
    370 <h3 id="v7-preference">v7 Preference Support Library</h3>
    371 
    372 <p>The
    373 <a href="{@docRoot}reference/android/support/v7/preference/package-summary.html">preference</a>
    374 package provides APIs to support adding preference objects, such as
    375 {@link android.support.v7.preference.CheckBoxPreference} and
    376 {@link android.support.v7.preference.ListPreference}, for
    377 users to modify UI settings. </p>
    378 
    379 <p>The v7 Preference library adds support for interfaces, such as
    380 {@link android.support.v7.preference.Preference.OnPreferenceChangeListener} and
    381 {@link android.support.v7.preference.Preference.OnPreferenceClickListener}, and classes,
    382 such as {@link android.support.v7.preference.CheckBoxPreference} and
    383 {@link android.support.v7.preference.ListPreference}.  </p>
    384 
    385 
    386 <p>After you download the Android Support Libraries, this library is located in the
    387 {@code &lt;sdk&gt;/extras/android/support/v7/preference} directory. For more information
    388 on how to set up your project, follow the instructions in <a
    389 href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
    390 with resources</a>. </p>
    391 
    392 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    393 
    394 <pre>
    395 com.android.support:preference-v7:23.0.0
    396 </pre>
    397 
    398 
    399 
    400 
    401 
    402 
    403 
    404 
    405 <h2 id="v8">v8 Support Library</h2>
    406 
    407 <p>This library is designed to be used with Android 2.2 (API level 8) and higher.
    408   This library provides specific feature sets and can be included in your application
    409   independently from other libraries.</p>
    410 
    411 <h3 id="v8-renderscript">v8 renderscript library</h3>
    412 
    413 <p>This library is designed to be used with Android (API level 8) and higher. It adds support for
    414   the <a href="{@docRoot}guide/topics/renderscript/compute.html">RenderScript</a> computation
    415   framework. These APIs are included in the {@link android.support.v8.renderscript} package. You
    416   should be aware that the steps for including these APIs in your application is <em>very
    417   different</em> from other support library APIs. For more information about using these APIs
    418   in your application, see the
    419   <a href="{@docRoot}guide/topics/renderscript/compute.html#access-rs-apis">RenderScript</a>
    420   developer guide.</p>
    421 
    422 <p class="note">
    423   <strong>Note:</strong> Use of RenderScript with the support library is supported with Android
    424   Studio and Gradle-based builds, as well as the Eclipse plugin and Ant build tools. The
    425   renderscript library is located in the <code>build-tools/$VERSION/renderscript/</code> folder.
    426 </p>
    427 
    428 <p>The following example shows the Gradle build script properties for this library:</p>
    429 
    430 <pre>
    431 defaultConfig {
    432     renderscriptTargetApi 18
    433     renderscriptSupportModeEnabled true
    434 }
    435 </pre>
    436 
    437 
    438 
    439 <h2 id="v13">v13 Support Library</h2>
    440 
    441 <p>This library is designed to be used for Android 3.2 (API level 13) and higher. It adds support
    442   for the <a href="{@docRoot}guide/components/fragments.html">Fragment</a> user interface pattern
    443   with the ({@link android.support.v13.app.FragmentCompat}) class and additional fragment support
    444   classes. For more information about fragments, see the
    445   <a href="{@docRoot}guide/components/fragments.html">Fragments</a> developer guide. For detailed
    446   information about the v13 Support Library APIs, see the {@link android.support.v13.app
    447   android.support.v13} package in the API reference.
    448 </p>
    449 
    450 <p>After you download the Android Support Libraries, this library is located in the
    451 {@code &lt;sdk&gt;/extras/android/support/v13/} directory. The library does not contain user
    452 interface resources. To include it in your application project, follow the instructions for
    453 <a href="{@docRoot}tools/support-library/setup.html#libs-without-res">Adding libraries without
    454 resources</a>.</p>
    455 
    456 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    457 
    458 <pre>
    459 com.android.support:support-v13:18.0.0
    460 </pre>
    461 
    462 
    463 
    464 
    465 
    466 <h2 id="v14-preference">v14 Preference Support Library</h2>
    467 
    468 
    469 <p>The {@link android.support.v14.preference} package provides APIs to add support
    470 for preference interfaces such as
    471 {@link android.support.v14.preference.PreferenceFragment.OnPreferenceStartFragmentCallback}
    472   and
    473 {@link android.support.v14.preference.PreferenceFragment.OnPreferenceStartScreenCallback},
    474   along with classes, such as
    475 {@link android.support.v14.preference.MultiSelectListPreference} and
    476 {@link android.support.v14.preference.PreferenceFragment}. For detailed
    477   information about the v14 Preference Support Library APIs, see the
    478   <a href="{@docRoot}reference/android/support/v14/preference/package-summary.html">preference</a>
    479   package in the API reference.
    480 </p>
    481 
    482 <p>After you download the Android Support Libraries, this library is located in the
    483 {@code &lt;sdk&gt;/extras/android/support/v14/} directory. The library does not contain user
    484 interface resources. To include it in your application project, follow the instructions for
    485 <a href="{@docRoot}tools/support-library/setup.html#libs-without-res">Adding libraries without
    486 resources</a>.</p>
    487 
    488 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    489 
    490 <pre>
    491 com.android.support:preference-v14:23.0.0
    492 </pre>
    493 
    494 
    495 
    496 
    497 <h2 id="v17-preference">v17 Preference Support Library for TV</h2>
    498 
    499 
    500 <p>The {@link android.support.v17.preference} package provides APIs for providing preference
    501   interfaces on TV devices, including support for the
    502 {@link android.support.v17.preference.LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener}
    503 interface and classes, such as
    504 {@link android.support.v17.preference.BaseLeanbackPreferenceFragment} and
    505 {@link android.support.v17.preference.LeanbackPreferenceFragment}. For detailed
    506   information about the v17 Preference Support Library APIs, see the
    507   <a href="{@docRoot}reference/android/support/v17/preference/package-summary.html">preference</a>
    508   package in the API reference.
    509 </p>
    510 
    511 <p>After you download the Android Support Libraries, this library is located in the
    512 {@code &lt;sdk&gt;/extras/android/support/v17/} directory. The library does not contain user
    513 interface resources. To include it in your application project, follow the instructions for
    514 <a href="{@docRoot}tools/support-library/setup.html#libs-without-res">Adding libraries without
    515 resources</a>.</p>
    516 
    517 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    518 
    519 <pre>
    520 com.android.support:preference-v17:23.0.0
    521 </pre>
    522 
    523 
    524 
    525 
    526 
    527 <h2 id="v17-leanback">v17 Leanback Library</h2>
    528 
    529 <p>The {@link android.support.v17.leanback} package provides APIs to support
    530   building user interfaces
    531   on TV devices. It provides a number of important widgets for TV apps. Some of the notable classes include:</p>
    532 
    533 <ul>
    534   <li>{@link android.support.v17.leanback.app.BrowseFragment} - A fragment for
    535     creating a primary layout for browsing categories and rows of media
    536     items.</li>
    537   <li>{@link android.support.v17.leanback.app.DetailsFragment} - A wrapper
    538     fragment for Leanback details screens.</li>
    539   <li>{@link android.support.v17.leanback.app.PlaybackOverlayFragment} - A
    540     subclass of {@link android.support.v17.leanback.app.DetailsFragment} for
    541     displaying playback controls and related content.</li>
    542   <li>{@link android.support.v17.leanback.app.SearchFragment} - A fragment to
    543     handle searches. The fragment receives the user's search request and passes
    544     it to the application-provided {@link
    545     android.support.v17.leanback.app.SearchFragment.SearchResultProvider
    546     SearchResultProvider}. The {@link
    547     android.support.v17.leanback.app.SearchFragment.SearchResultProvider
    548     SearchResultProvider} returns the search results to the
    549     {@link android.support.v17.leanback.app.SearchFragment}, which renders them
    550     into a {@link android.support.v17.leanback.app.RowsFragment}.</li>
    551 </ul>
    552 
    553 <p>After you download the Android Support Libraries, this library is located in the
    554 {@code &lt;sdk&gt;/extras/android/support/v17/leanback} directory. For more information
    555 on how to set up your project, follow the instructions in <a
    556 href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
    557 with resources</a>. </p>
    558 
    559 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    560 
    561 <pre>
    562 com.android.support:leanback-v17:21.0.0
    563 </pre>
    564 
    565 
    566 
    567 <h2 id="annotations">Annotations Support Library</h2>
    568 
    569 <p>The <a href="{@docRoot}reference/android/support/annotation/package-summary.html">Annotation</a>
    570 package provides APIs to support adding annotation metadata to your apps. </p>
    571 
    572 <p></p>
    573 
    574 <p>After you download the Android Support Libraries, this library is located in the
    575 {@code &lt;sdk&gt;/extras/android/support/annotations} directory. For more information
    576 on how to set up your project, follow the instructions in <a
    577 href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
    578 with resources</a>. </p>
    579 
    580 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    581 
    582 <pre>
    583 com.android.support:support-annotations:22.0.0
    584 </pre>
    585 
    586 
    587 
    588 <h2 id="design">Design Support Library</h2>
    589 
    590 <p>The
    591 <a href="{@docRoot}reference/android/support/design/package-summary.html">Design</a> package
    592 provides APIs to support adding material design components and patterns to your apps. </p>
    593 
    594 <p>The Design Support library adds support for various material design components and patterns for
    595 app developers to build upon, such as navigation drawers, floating action buttons (<i>FAB</i>),
    596 snackbars, and <a href="{@docRoot}design/building-blocks/tabs.html">tabs</a>.  </p>
    597 
    598 
    599 <p>After you download the Android Support Libraries, this library is located in the
    600 {@code &lt;sdk&gt;/extras/android/support/design} directory. For more information
    601 on how to set up your project, follow the instructions in <a
    602 href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
    603 with resources</a>. </p>
    604 
    605 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    606 
    607 <pre>
    608 com.android.support:design:22.2.0
    609 </pre>
    610 
    611 
    612 
    613 <h2 id="custom-tabs">Custom Tabs Support Library</h2>
    614 
    615 <p>The
    616 <a href="{@docRoot}reference/android/support/customtabs/package-summary.html">Custom Tabs</a>
    617 package provides APIs to support adding and managing custom tabs in your apps. </p>
    618 
    619 <p>The Custom Tabs Support library adds support for various classes, such as
    620 <a href="{@docRoot}reference/android/support/customtabs/CustomTabsService.html">Custom Tabs
    621 Service</a>
    622 and
    623 <a href="{@docRoot}reference/android/support/customtabs/CustomTabsSCallback.html">Custom Tabs
    624 Callback</a>.  </p>
    625 
    626 
    627 <p>After you download the Android Support Libraries, this library is located in the
    628 {@code &lt;sdk&gt;/extras/android/support/customtabs} directory. For more information
    629 on how to set up your project, follow the instructions in <a
    630 href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
    631 with resources</a>. </p>
    632 
    633 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    634 
    635 <pre>
    636 com.android.support:customtabs:23.0.0
    637 </pre>
    638 
    639 
    640 
    641 
    642 <h2 id="percent">Percent Support Library</h2>
    643 
    644 <p>The
    645 <a href="{@docRoot}reference/android/support/percent/package-summary.html">Percent</a>
    646 package provides APIs to support adding and managing percentage based dimensions in your app. </p>
    647 
    648 <p>The Percent Support library adds support for the
    649 <a href="{@docRoot}reference/android/support/percent/PercentLayoutHelper.PercentLayoutParams.html">
    650 PercentLayoutHelper.PercentLayoutParams</a> interface
    651 and various classes, such as
    652 <a href="{@docRoot}reference/android/support/percent/PercentFrameLayout.html">PercentFrameLayout</a>
    653 and
    654 <a href="{@docRoot}reference/android/support/percent/PercentRelativeLayout.html">
    655 PercentRelativeLayout</a>.  </p>
    656 
    657 
    658 <p>After you download the Android Support Libraries, this library is located in the
    659 {@code &lt;sdk&gt;/extras/android/support/customtabs} directory. For more information
    660 on how to set up your project, follow the instructions in <a
    661 href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
    662 with resources</a>. </p>
    663 
    664 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    665 
    666 <pre>
    667 com.android.support:percent:23.0.0
    668 </pre>
    669 
    670 
    671 
    672 <h2 id="recommendation">App Recommendation Support Library for TV</h2>
    673 
    674 <p>The
    675 <a href="{@docRoot}reference/android/support/app/recommendation/package-summary.html">App
    676 Recommendation</a>
    677 package provides APIs to support adding content recommendations in your app running on TV devices. </p>
    678 
    679 <p>The App  library adds support for annotations, such as
    680 <a href="{@docRoot}reference/android/support/app/recommendation/ContentRecommendation.ContentMaturity.html">
    681 ContentRecommendation.ContentMaturity</a> and various classes, such as
    682 <a href="{@docRoot}reference/android/support/app/recommendation/ContentRecommendation.html">ContentRecommendation</a>
    683 and
    684 <a href="{@docRoot}reference/android/support/app/recommendation/RecommendationExtender.html">
    685 RecommendationExtender</a>.  </p>
    686 
    687 
    688 <p>After you download the Android Support Libraries, this library is located in the
    689 {@code &lt;sdk&gt;/extras/android/support/customtabs} directory. For more information
    690 on how to set up your project, follow the instructions in <a
    691 href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
    692 with resources</a>. </p>
    693 
    694 <p>The Gradle build script dependency identifier for this library is as follows:</p>
    695 
    696 <pre>
    697 com.android.support:app.recommendation-app:23.0.0
    698 </pre>
    699