summaryrefslogtreecommitdiffstats
path: root/docs/html/tools/support-library/features.jd
blob: b3af7a27d9cb7644e45857bbad7a47627d913600 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
page.title=Support Library Features

@jd:body

<div id="qv-wrapper">
  <div id="qv">

    <h2>In this document</h2>
    <ol>
      <li><a href="#v4">v4 Support Library</a></li>
      <li><a href="#multidex">Multidex Support Library</a></li>
      <li><a href="#v7">v7 Support Libraries</a>
        <ol>
          <li><a href="#v7-appcompat">v7 appcompat library</a></li>
          <li><a href="#v7-cardview">v7 cardview library</a></li>
          <li><a href="#v7-gridlayout">v7 gridlayout library</a></li>
          <li><a href="#v7-mediarouter">v7 mediarouter library</a></li>
          <li><a href="#v7-palette">v7 palette library</a></li>
          <li><a href="#v7-recyclerview">v7 recyclerview library</a></li>
          <li><a href="#v7-preference">v7 preference library</a></li>
        </ol>
      </li>
      <li><a href="#v8">v8 Support Library</a></li>
      <li><a href="#v13">v13 Support Library</a></li>
      <li><a href="#v14-preference">v14 Preference Support Library</a></li>
      <li><a href="#v17-leanback">v17 Leanback Library</a></li>
      <li><a href="#v17-preference">v17 Preference Library for TV</a></li>
      <li><a href="#annotations">Annotations Support Library</a></li>
      <li><a href="#design">Design Support Library</a></li>
      <li><a href="#custom-tabs">Custom Tabs Support Library</a></li>
      <li><a href="#percent">Percent Support Library</a></li>
      <li><a href="#recommendation">Recommendation Support Library for TV</a></li>
    </ol>

    <h2>See also</h2>
    <ol>
      <li><a href="{@docRoot}tools/support-library/index.html#revisions">
        Support Library Revisions</a></li>
      <li><a href="{@docRoot}tools/support-library/setup.html">
        Support Library Setup</a></li>
    </ol>

  </div>
</div>

<p>The Android Support Library package contains several libraries that can be included
  in your application. Each of these libraries supports a specific range of Android platform
  versions and set of features.</p>

<p>This guide explains the important features and version support provided by the Support
  Libraries to help you decide which of them you should include in your application. In general,
  we recommend including the <a href="#v4">v4 support</a> and <a href="#v7-appcompat">v7
  appcompat</a> libraries, because they support a wide range of
  Android versions and provide APIs for recommended user interface patterns.</p>

<p>In order to use any of the following libraries, you must download the library files to your
  Android SDK installation. Follow the directions for downloading the Support Libraries in
  <a href="{@docRoot}tools/support-library/setup.html#download">Support Library Setup</a> to
  complete this step. You must take additional steps to include a specific Support Library in
  your application. See the end of each library section below for important information on how to
  include the library in your application.</p>


<h2 id="v4">v4 Support Library</h2>

<p>This library is designed to be used with Android 1.6 (API level 4) and higher. It includes the
  largest set of APIs compared to the other libraries, including support for application components,
  user interface features, accessibility, data handling, network connectivity, and programming
  utilities. Here are a few of the key classes included in the v4 library:</p>

<ul>
  <li>App Components
    <ul>
      <li>{@link android.support.v4.app.Fragment}
        - Adds support for encapsulation of user interface and functionality
        with Fragments, enabling
        applications to provide layouts that adjust between small and
        large-screen devices.
       </li>

      <li>{@link android.support.v4.app.NotificationCompat} - Adds support for rich notification
        features.</li>
      <li>{@link android.support.v4.content.LocalBroadcastManager} - Allows applications to easily
        register for and receive intents within a single application without broadcasting them
        globally.</li>
    </ul>
  </li>
  <li>User Interface
    <ul>
      <li>{@link android.support.v4.view.ViewPager} - Adds a
      {@link android.view.ViewGroup} that manages the layout for the
      child views, which the user can swipe between.</li>
      <li>{@link android.support.v4.view.PagerTitleStrip}
        - Adds a non-interactive title strip, that can be added as a child of
        {@link android.support.v4.view.ViewPager}.</li>
      <li>{@link android.support.v4.view.PagerTabStrip} - Adds a
        navigation widget for switching between paged views, that can also be used with
        {@link android.support.v4.view.ViewPager}.</li>
      <li>{@link android.support.v4.widget.DrawerLayout} - Adds
      support for creating a <a href="{@docRoot}training/implementing-navigation/nav-drawer.html"
      >Navigation Drawer</a> that can be pulled in from the edge of a window.</li>
      <li>{@link android.support.v4.widget.SlidingPaneLayout}
        - Adds widget for creating linked summary and detail views that
        appropriately adapt to various screen sizes.</li>
    </ul>
  </li>
  <li>Accessibility
    <ul>
      <li>{@link android.support.v4.widget.ExploreByTouchHelper}
        - Adds a helper class for implementing accessibility support for custom views.</li>
      <li>{@link android.support.v4.view.accessibility.AccessibilityEventCompat} - Adds support for
      {@link android.view.accessibility.AccessibilityEvent}. For more information about implementing
      accessibility, see <a href="{@docRoot}guide/topics/ui/accessibility/index.html"
      >Accessibility</a>.</li>

      <li>{@link android.support.v4.view.accessibility.AccessibilityNodeInfoCompat} - Adds support
      for {@link android.view.accessibility.AccessibilityNodeInfo}.</li>
      <li>{@link android.support.v4.view.accessibility.AccessibilityNodeProviderCompat} - Adds
      support for {@link android.view.accessibility.AccessibilityNodeProvider}.</li>
      <li>{@link android.support.v4.view.AccessibilityDelegateCompat} - Adds support for
      {@link android.view.View.AccessibilityDelegate}.</li>
    </ul>
  </li>
  <li>Content
    <ul>
      <li>{@link android.support.v4.content.Loader} - Adds support for asynchronous loading of data.
        The library also provides concrete implementations of this class, including
        {@link android.support.v4.content.CursorLoader} and
        {@link android.support.v4.content.AsyncTaskLoader}.</li>
      <li>{@link android.support.v4.content.FileProvider} - Adds support for sharing of private
        files between applications.</li>
    </ul>
  </li>
</ul>

<p>
  There are many other APIs included in this library. For complete, detailed information about the
  v4 Support Library APIs, see the {@link android.support.v4.app android.support.v4} package in the
  API reference.
</p>

<p>After you download the Android Support Libraries, this library is located in the
{@code &lt;sdk&gt;/extras/android/support/v4/} directory. The library does not contain user
interface resources. To include it in your application project, follow the instructions for
<a href="{@docRoot}tools/support-library/setup.html#libs-without-res">Adding libraries without
resources</a>.</p>

<p class="caution"><strong>Caution:</strong> Using dynamic dependencies, especially for higher version
numbers, can cause unexpected version updates and regression incompatibilities.</p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:support-v4:21.0.0
</pre>



<h2 id="multidex">Multidex Support Library</h2>

<p>
  This library provides support for building apps with multiple Dalvik Executable (DEX) files.
  Apps that reference more than 65536 methods are required to use multidex configurations. For
  more information about using multidex, see <a href="{@docRoot}tools/building/multidex.html">
  Building Apps with Over 65K Methods</a>.
</p>

<p>
  After you download the Android Support Libraries, this library is located in the
  {@code &lt;sdk&gt;/extras/android/support/multidex/} directory. The library does not contain
  user interface resources. To include it in your application project, follow the instructions
  for
  <a href= "{@docRoot}tools/support-library/setup.html#libs-without-res">Adding libraries without
  resources</a>.
</p>

<p>
  The Gradle build script dependency identifier for this library is as follows:
</p>

<pre>
com.android.support:multidex:1.0.0
</pre>



<h2 id="v7">v7 Support Libraries</h2>

<p>There are several libraries designed to be used with Android 2.1 (API level 7) and higher.
  These libraries provide specific feature sets and can be included in your application
  independently from each other.</p>


<h3 id="v7-appcompat">v7 appcompat library</h3>

<p>This library adds support for the
  <a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> user
  interface <a href="{@docRoot}design/patterns/actionbar.html">design
  pattern</a>. This library includes support for
  <a href="{@docRoot}design/material/">material design</a> user interface
  implementations.
</p>

<p class="note"><strong>Note:</strong>
  This library depends on the v4 Support Library. If you are using Ant or Eclipse, make sure
  you include the v4 Support Library as part of this library's classpath.
</p>

<p>Here are a few of the key classes included in the v7 appcompat library:</p>

<ul>
  <li>{@link android.support.v7.app.ActionBar} - Provides an implementation of the action bar
      <a href="{@docRoot}design/patterns/actionbar.html">user interface pattern</a>. For more
      information on using the Action Bar, see the
      <a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer guide.
  </li>
  <li>{@link android.support.v7.app.AppCompatActivity} - Adds an application activity class that can
       be used as a base class for activities that use the Support Library action bar
       implementation.
  </li>
  <li>{@link android.support.v7.app.AppCompatDialog} - Adds a dialog class that can be used as a base
      class for AppCompat themed dialogs.
  </li>
  <li>{@link android.support.v7.widget.ShareActionProvider} - Adds support for a standardized
    sharing action (such as email or posting to social applications) that can be included in an
    action bar.
  </li>
</ul>

<p>After you download the Android Support Libraries, this library is located in the
{@code &lt;sdk&gt;/extras/android/support/v7/appcompat/} directory. The library contains user
interface resources. To include it in your application project, follow the instructions for
<a href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries with
resources</a>.</p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:appcompat-v7:21.0.0
</pre>



<h3 id="v7-cardview">v7 cardview library</h3>

<p>This library adds support for the {@link android.support.v7.widget.CardView}
widget, which lets you show information inside cards that have a consistent look
on any app. These cards are useful for material design
implementations, and are used extensively in layouts for TV apps.</p>

<p>After you download the Android Support Libraries, this library is located in the
{@code &lt;sdk&gt;/extras/android/support/v7/cardview/} directory. The library contains user interface
resources. To include it in your application project, follow the instructions
for <a href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding
libraries with resources</a>.</p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:cardview-v7:21.0.0
</pre>



<h3 id="v7-gridlayout">v7 gridlayout library</h3>

<p>After you download the Android Support Libraries, this library adds support for the
{@link android.support.v7.widget.GridLayout} class, which
allows you to arrange user interface elements using a grid of rectangular cells.
For detailed information about the v7 gridlayout library APIs, see the
{@link android.support.v7.widget android.support.v7.widget} package in the API reference.</p>

<p>This library is located in the {@code &lt;sdk&gt;/extras/android/support/v7/gridlayout/}
  directory . The library contains user
  interface resources. To include it in your application project, follow the instructions for
  <a href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries with
  resources</a>.</p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:gridlayout-v7:21.0.0
</pre>



<h3 id="v7-mediarouter">v7 mediarouter library</h3>

<p>This library provides {@link android.support.v7.media.MediaRouter}, {@link
android.support.v7.media.MediaRouteProvider}, and related media classes that
support <a href="https://developers.google.com/cast/docs/android_sender">Google Cast</a>. </p>

<p>In general, the APIs in the v7 mediarouter library provide a means of
controlling the routing of media channels and streams from the current device to
external screens, speakers, and other destination devices. The library includes
APIs for publishing app-specific media route providers, for discovering and
selecting destination devices, for checking media status, and more. For detailed
information about the v7 mediarouter library APIs, see the
{@link android.support.v7.media android.support.v7.media} package in the API
reference.</p>

<p>The v7 mediarouter library is located in the
<code>&lt;sdk&gt;/extras/android/support/v7/mediarouter/</code> directory after
you download the Android Support Library. It's provided as a library project
with a dependency on the v7 appcompat library, so you'll need to include both
libraries in your build path when setting up your project. For more information
on how to set up your project, follow the instructions in <a
href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
with resources</a>. If you are developing in Eclipse/ADT, make sure to include
both the <code>android-support-v7-mediarouter.jar</code> and
<code>android-support-v7-appcompat.jar</code> files.</p>

<p>If you are using Android Studio, all you need to do is specify the Gradle build
script dependency identifier <code>com.android.support:support-v7-mediarouter:&lt;revision&gt;</code>,
where "&lt;revision&gt;" is the minimum revision at which the library is available. For example:</p>

<pre>
com.android.support:mediarouter-v7:21.0.0
</pre>

<p class="caution">The v7 mediarouter library APIs introduced in Support Library
r18 are subject to change in later revisions of the Support Library. At this
time, we recommend using the library only in connection with <a
href="https://developers.google.com/cast/docs/android_sender">Google Cast</a>. </p>

<h3 id="v7-palette">v7 palette library</h3>

<p>The v7 palette support library includes the
{@link android.support.v7.graphics.Palette} class, which lets you extract
prominent colors from an image. For example, a music app could use a
{@link android.support.v7.graphics.Palette} object to extract the major colors
from an album cover, and use those colors to build a color-coordinated song
title card.</p>

<p>After you download the Android Support Libraries, this library is located in the
{@code &lt;sdk&gt;/extras/android/support/v7/palette/} directory. The library does not contain
user interface resources. To include it in your application project, follow the instructions for
<a href="{@docRoot}tools/support-library/setup.html#libs-without-res">Adding libraries without
resources</a>.</p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:palette-v7:21.0.0
</pre>



<h3 id="v7-recyclerview">v7 recyclerview library</h3>

<p>The recyclerview library adds the {@link android.support.v7.widget.RecyclerView}
class. This class provides support for the
<a href="{@docRoot}training/material/lists-cards#RecyclerView">RecyclerView
widget</a>, a view for efficiently displaying large data sets by providing a
limited window of data items.</p>

<p>After you download the Android Support Libraries, this library is located in the
{@code &lt;sdk&gt;/extras/android/support/v7/recyclerview/} directory. The library contains
user interface resources. To include it in your application project, follow the instructions
for <a href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding
libraries with resources</a>.</p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:recyclerview-v7:21.0.0
</pre>


<h3 id="v7-preference">v7 Preference Support Library</h3>

<p>The
<a href="{@docRoot}reference/android/support/v7/preference/package-summary.html">preference</a>
package provides APIs to support adding preference objects, such as
{@link android.support.v7.preference.CheckBoxPreference} and
{@link android.support.v7.preference.ListPreference}, for
users to modify UI settings. </p>

<p>The v7 Preference library adds support for interfaces, such as
{@link android.support.v7.preference.Preference.OnPreferenceChangeListener} and
{@link android.support.v7.preference.Preference.OnPreferenceClickListener}, and classes,
such as {@link android.support.v7.preference.CheckBoxPreference} and
{@link android.support.v7.preference.ListPreference}.  </p>


<p>After you download the Android Support Libraries, this library is located in the
{@code &lt;sdk&gt;/extras/android/support/v7/preference} directory. For more information
on how to set up your project, follow the instructions in <a
href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
with resources</a>. </p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:preference-v7:23.0.0
</pre>








<h2 id="v8">v8 Support Library</h2>

<p>This library is designed to be used with Android 2.2 (API level 8) and higher.
  This library provides specific feature sets and can be included in your application
  independently from other libraries.</p>

<h3 id="v8-renderscript">v8 renderscript library</h3>

<p>This library is designed to be used with Android (API level 8) and higher. It adds support for
  the <a href="{@docRoot}guide/topics/renderscript/compute.html">RenderScript</a> computation
  framework. These APIs are included in the {@link android.support.v8.renderscript} package. You
  should be aware that the steps for including these APIs in your application is <em>very
  different</em> from other support library APIs. For more information about using these APIs
  in your application, see the
  <a href="{@docRoot}guide/topics/renderscript/compute.html#access-rs-apis">RenderScript</a>
  developer guide.</p>

<p class="note">
  <strong>Note:</strong> Use of RenderScript with the support library is supported with Android
  Studio and Gradle-based builds, as well as the Eclipse plugin and Ant build tools. The
  renderscript library is located in the <code>build-tools/$VERSION/renderscript/</code> folder.
</p>

<p>The following example shows the Gradle build script properties for this library:</p>

<pre>
defaultConfig {
    renderscriptTargetApi 18
    renderscriptSupportModeEnabled true
}
</pre>



<h2 id="v13">v13 Support Library</h2>

<p>This library is designed to be used for Android 3.2 (API level 13) and higher. It adds support
  for the <a href="{@docRoot}guide/components/fragments.html">Fragment</a> user interface pattern
  with the ({@link android.support.v13.app.FragmentCompat}) class and additional fragment support
  classes. For more information about fragments, see the
  <a href="{@docRoot}guide/components/fragments.html">Fragments</a> developer guide. For detailed
  information about the v13 Support Library APIs, see the {@link android.support.v13.app
  android.support.v13} package in the API reference.
</p>

<p>After you download the Android Support Libraries, this library is located in the
{@code &lt;sdk&gt;/extras/android/support/v13/} directory. The library does not contain user
interface resources. To include it in your application project, follow the instructions for
<a href="{@docRoot}tools/support-library/setup.html#libs-without-res">Adding libraries without
resources</a>.</p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:support-v13:18.0.0
</pre>





<h2 id="v14-preference">v14 Preference Support Library</h2>


<p>The {@link android.support.v14.preference} package provides APIs to add support
for preference interfaces such as
{@link android.support.v14.preference.PreferenceFragment.OnPreferenceStartFragmentCallback}
  and
{@link android.support.v14.preference.PreferenceFragment.OnPreferenceStartScreenCallback},
  along with classes, such as
{@link android.support.v14.preference.MultiSelectListPreference} and
{@link android.support.v14.preference.PreferenceFragment}. For detailed
  information about the v14 Preference Support Library APIs, see the
  <a href="{@docRoot}reference/android/support/v14/preference/package-summary.html">preference</a>
  package in the API reference.
</p>

<p>After you download the Android Support Libraries, this library is located in the
{@code &lt;sdk&gt;/extras/android/support/v14/} directory. The library does not contain user
interface resources. To include it in your application project, follow the instructions for
<a href="{@docRoot}tools/support-library/setup.html#libs-without-res">Adding libraries without
resources</a>.</p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:preference-v14:23.0.0
</pre>




<h2 id="v17-preference">v17 Preference Support Library for TV</h2>


<p>The {@link android.support.v17.preference} package provides APIs for providing preference
  interfaces on TV devices, including support for the
{@link android.support.v17.preference.LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener}
interface and classes, such as
{@link android.support.v17.preference.BaseLeanbackPreferenceFragment} and
{@link android.support.v17.preference.LeanbackPreferenceFragment}. For detailed
  information about the v17 Preference Support Library APIs, see the
  <a href="{@docRoot}reference/android/support/v17/preference/package-summary.html">preference</a>
  package in the API reference.
</p>

<p>After you download the Android Support Libraries, this library is located in the
{@code &lt;sdk&gt;/extras/android/support/v17/} directory. The library does not contain user
interface resources. To include it in your application project, follow the instructions for
<a href="{@docRoot}tools/support-library/setup.html#libs-without-res">Adding libraries without
resources</a>.</p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:preference-v17:23.0.0
</pre>





<h2 id="v17-leanback">v17 Leanback Library</h2>

<p>The {@link android.support.v17.leanback} package provides APIs to support
  building user interfaces
  on TV devices. It provides a number of important widgets for TV apps. Some of the notable classes include:</p>

<ul>
  <li>{@link android.support.v17.leanback.app.BrowseFragment} - A fragment for
    creating a primary layout for browsing categories and rows of media
    items.</li>
  <li>{@link android.support.v17.leanback.app.DetailsFragment} - A wrapper
    fragment for Leanback details screens.</li>
  <li>{@link android.support.v17.leanback.app.PlaybackOverlayFragment} - A
    subclass of {@link android.support.v17.leanback.app.DetailsFragment} for
    displaying playback controls and related content.</li>
  <li>{@link android.support.v17.leanback.app.SearchFragment} - A fragment to
    handle searches. The fragment receives the user's search request and passes
    it to the application-provided {@link
    android.support.v17.leanback.app.SearchFragment.SearchResultProvider
    SearchResultProvider}. The {@link
    android.support.v17.leanback.app.SearchFragment.SearchResultProvider
    SearchResultProvider} returns the search results to the
    {@link android.support.v17.leanback.app.SearchFragment}, which renders them
    into a {@link android.support.v17.leanback.app.RowsFragment}.</li>
</ul>

<p>After you download the Android Support Libraries, this library is located in the
{@code &lt;sdk&gt;/extras/android/support/v17/leanback} directory. For more information
on how to set up your project, follow the instructions in <a
href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
with resources</a>. </p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:leanback-v17:21.0.0
</pre>



<h2 id="annotations">Annotations Support Library</h2>

<p>The <a href="{@docRoot}reference/android/support/annotation/package-summary.html">Annotation</a>
package provides APIs to support adding annotation metadata to your apps. </p>

<p></p>

<p>After you download the Android Support Libraries, this library is located in the
{@code &lt;sdk&gt;/extras/android/support/annotations} directory. For more information
on how to set up your project, follow the instructions in <a
href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
with resources</a>. </p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:support-annotations:22.0.0
</pre>



<h2 id="design">Design Support Library</h2>

<p>The
<a href="{@docRoot}reference/android/support/design/package-summary.html">Design</a> package
provides APIs to support adding material design components and patterns to your apps. </p>

<p>The Design Support library adds support for various material design components and patterns for
app developers to build upon, such as navigation drawers, floating action buttons (<i>FAB</i>),
snackbars, and <a href="{@docRoot}design/building-blocks/tabs.html">tabs</a>.  </p>


<p>After you download the Android Support Libraries, this library is located in the
{@code &lt;sdk&gt;/extras/android/support/design} directory. For more information
on how to set up your project, follow the instructions in <a
href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
with resources</a>. </p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:design:22.2.0
</pre>



<h2 id="custom-tabs">Custom Tabs Support Library</h2>

<p>The
<a href="{@docRoot}reference/android/support/customtabs/package-summary.html">Custom Tabs</a>
package provides APIs to support adding and managing custom tabs in your apps. </p>

<p>The Custom Tabs Support library adds support for various classes, such as
<a href="{@docRoot}reference/android/support/customtabs/CustomTabsService.html">Custom Tabs
Service</a>
and
<a href="{@docRoot}reference/android/support/customtabs/CustomTabsSCallback.html">Custom Tabs
Callback</a>.  </p>


<p>After you download the Android Support Libraries, this library is located in the
{@code &lt;sdk&gt;/extras/android/support/customtabs} directory. For more information
on how to set up your project, follow the instructions in <a
href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
with resources</a>. </p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:customtabs:23.0.0
</pre>




<h2 id="percent">Percent Support Library</h2>

<p>The
<a href="{@docRoot}reference/android/support/percent/package-summary.html">Percent</a>
package provides APIs to support adding and managing percentage based dimensions in your app. </p>

<p>The Percent Support library adds support for the
<a href="{@docRoot}reference/android/support/percent/PercentLayoutHelper.PercentLayoutParams.html">
PercentLayoutHelper.PercentLayoutParams</a> interface
and various classes, such as
<a href="{@docRoot}reference/android/support/percent/PercentFrameLayout.html">PercentFrameLayout</a>
and
<a href="{@docRoot}reference/android/support/percent/PercentRelativeLayout.html">
PercentRelativeLayout</a>.  </p>


<p>After you download the Android Support Libraries, this library is located in the
{@code &lt;sdk&gt;/extras/android/support/customtabs} directory. For more information
on how to set up your project, follow the instructions in <a
href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
with resources</a>. </p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:percent:23.0.0
</pre>



<h2 id="recommendation">App Recommendation Support Library for TV</h2>

<p>The
<a href="{@docRoot}reference/android/support/app/recommendation/package-summary.html">App
Recommendation</a>
package provides APIs to support adding content recommendations in your app running on TV devices. </p>

<p>The App  library adds support for annotations, such as
<a href="{@docRoot}reference/android/support/app/recommendation/ContentRecommendation.ContentMaturity.html">
ContentRecommendation.ContentMaturity</a> and various classes, such as
<a href="{@docRoot}reference/android/support/app/recommendation/ContentRecommendation.html">ContentRecommendation</a>
and
<a href="{@docRoot}reference/android/support/app/recommendation/RecommendationExtender.html">
RecommendationExtender</a>.  </p>


<p>After you download the Android Support Libraries, this library is located in the
{@code &lt;sdk&gt;/extras/android/support/customtabs} directory. For more information
on how to set up your project, follow the instructions in <a
href="{@docRoot}tools/support-library/setup.html#libs-with-res">Adding libraries
with resources</a>. </p>

<p>The Gradle build script dependency identifier for this library is as follows:</p>

<pre>
com.android.support:app.recommendation-app:23.0.0
</pre>