| 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 Libraries</a> |
| <ol> |
| <li><a href="#v4-compat">v4 compat library</a></li> |
| <li><a href="#v4-core-utils">v4 core-utils library</a></li> |
| <li><a href="#v4-core-ui">v4 core-ui library</a></li> |
| <li><a href="#v4-media-compat">v4 media-compat library</a></li> |
| <li><a href="#v4-fragment">v4 fragment library</a></li> |
| </ol> |
| </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}topic/libraries/support-library/index.html#revisions"> |
| Support Library Revisions</a></li> |
| <li><a href="{@docRoot}topic/libraries/support-library/setup.html"> |
| Support Library Setup</a></li> |
| <li><a href="{@docRoot}topic/libraries/testing-support-library/index.html"> |
| Testing Support Library</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 Libraries</h2> |
| |
| <p> |
| These libraries are designed to be used with Android 2.3 (API level 9) and |
| higher. They include 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. |
| </p> |
| |
| <p> |
| For complete, detailed information about the classes and methods provided by |
| the v4 support libraries, see the {@link android.support.v4.app |
| android.support.v4} package in the API reference. |
| </p> |
| |
| |
| <p class="note"> |
| <strong>Note:</strong> Prior to Support Library revision 24.2.0, there was a |
| single v4 support library. That library was divided into multiple modules to |
| improve efficiency. For backwards compatibility, if you list |
| <code>support-v4</code> in your Gradle script, your APK will include all of |
| the v4 modules. However, to reduce APK size, we recommend that you just list |
| the specific modules your app needs. |
| </p> |
| |
| <h3 id="v4-compat">v4 compat library</h3> |
| |
| <p> |
| Provides compatibility wrappers for a number of framework APIs, such as |
| <code>Context.obtainDrawable()</code> and |
| <code>View.performAccessibilityAction()</code>. |
| </p> |
| |
| <p>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:support-compat:24.2.1 |
| </pre> |
| |
| <h3 id="v4-core-utils">v4 core-utils library</h3> |
| |
| <p> |
| Provides a number of utility classes, such as {@link |
| android.support.v4.content.AsyncTaskLoader} and {@link |
| android.support.v4.content.PermissionChecker}. |
| </p> |
| |
| <p> |
| The Gradle build script dependency identifier for this library is as follows: |
| </p> |
| |
| <pre> |
| com.android.support:support-core-utils:24.2.1 |
| </pre> |
| |
| <h3 id="v4-core-ui">v4 core-ui library</h3> |
| |
| <p> |
| Implements a variety of UI-related components, such as {@link |
| android.support.v4.view.ViewPager}, {@link |
| android.support.v4.widget.NestedScrollView}, and {@link |
| android.support.v4.widget.ExploreByTouchHelper}. |
| </p> |
| |
| <p> |
| The Gradle build script dependency identifier for this library is as follows: |
| </p> |
| |
| <pre> |
| com.android.support:support-core-ui:24.2.1 |
| </pre> |
| |
| <h3 id="v4-media-compat">v4 media-compat library</h3> |
| |
| <p> |
| Backports portions of the <a href= |
| "/reference/android/media/package-summary.html">media</a> framework, |
| including {@link android.media.browse.MediaBrowser} and {@link |
| android.media.session.MediaSession}. |
| </p> |
| |
| <p> |
| The Gradle build script dependency identifier for this library is as follows: |
| </p> |
| |
| <pre> |
| com.android.support:support-media-compat:24.2.1 |
| </pre> |
| |
| <h3 id="v4-fragment">v4 fragment library</h3> |
| |
| <p> |
| Adds support for encapsulation of user interface and functionality with |
| <a href= |
| "/guide/components/fragments.html">fragments</a>, |
| enabling applications to provide layouts that adjust between small and |
| large-screen devices. This module has dependencies on <a href= |
| "#v4-compat">compat</a>, <a href="#v4-core-utils">core-utils</a>, <a href= |
| "#v4-core-ui">core-ui</a>, and <a href="#v4-media-compat">media-compat</a>. |
| </p> |
| |
| <p> |
| The Gradle build script dependency identifier for this library is as follows: |
| </p> |
| |
| <pre> |
| com.android.support:support-fragment:24.2.1 |
| </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 64K Methods</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.3 (API level 9) 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. |
| </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>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:appcompat-v7:24.2.1 |
| </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>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:cardview-v7:24.2.1 |
| </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>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:gridlayout-v7:24.2.1 |
| </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 Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:mediarouter-v7:24.2.1 |
| </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>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:palette-v7:24.2.1 |
| </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.html">RecyclerView</a> |
| widget, a view for efficiently displaying large data sets by providing a |
| limited window of data items.</p> |
| |
| <p>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:recyclerview-v7:24.2.1 |
| </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>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:preference-v7:24.2.1 |
| </pre> |
| |
| <h2 id="v8">v8 Support Library</h2> |
| |
| <p>This library is designed to be used with Android 2.3 (API level 9) 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 2.3 (API level 9) 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. 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>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:support-v13:24.2.1 |
| </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>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:preference-v14:24.2.1 |
| </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>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:preference-leanback-v17:24.2.1 |
| </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>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:leanback-v17:24.2.1 |
| </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>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:support-annotations:24.2.1 |
| </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>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:design:24.2.1 |
| </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/CustomTabsCallback.html">Custom Tabs |
| Callback</a>. </p> |
| |
| <p>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:customtabs:24.2.1 |
| </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>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:percent:24.2.1 |
| </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>The Gradle build script dependency identifier for this library is as follows:</p> |
| |
| <pre> |
| com.android.support:recommendation:24.2.1 |
| </pre> |