Android 支持库软件包含可以添加至应用的多个库。每个库均支持特定范围的 Android 平台版本和功能。
本指南介绍了各支持库提供的重要功能和版本支持,从而帮助您决定在应用中添加哪些支持库。一般而言,我们建议添加 v4 支持 和 v7 appcompat 库,因为它们支持一系列 Android 版本,并且可以为推荐的用户界面模式提供 API。
要使用以下任一库,您必须将库文件下载到 Android SDK 安装位置中。请按照 支持库设置 中下载支持库的说明完成此步骤。要在应用中添加特定支持库,您还必须执行其他步骤。有关如何在应用中添加支持库的重要信息,请参阅下面各个库内容的末尾部分。
这些库旨在与 Android 2.3(API 级别 9)及更高版本搭配使用。与其他支持库相比,它们包含的 API 集合最大,包括对应用组件、用户界面功能、辅助功能、数据处理、网络连接以及编程实用工具的支持。
如需了解有关 v4 支持库所提供类和方法的完整详细信息,请参阅 API 参考中的 [android.support.v4](https://developer.android.com/reference/android/support/v4/app/package-summary.html?hl=zh-cn)
软件包。
注:在支持库修订版 24.2.0 之前,存在一个 v4 支持库。为了提高效率,此库拆分成多个模块。出于向后兼容的考虑,如果您在 Gradle 脚本中列出了 support-v4
,您的 APK 将包含所有的 v4 模块。不过,要减少 APK 大小,我们建议仅列出应用需要的特定模块。
为众多框架 API 提供兼容性包装器,例如 Context.obtainDrawable()
和 View.performAccessibilityAction()
。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:support-compat:24.2.0
提供大量实用程序类,例如 [AsyncTaskLoader](https://developer.android.com/reference/android/support/v4/content/AsyncTaskLoader.html?hl=zh-cn)
和 [PermissionChecker](https://developer.android.com/reference/android/support/v4/content/PermissionChecker.html?hl=zh-cn)
。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:support-core-utils:24.2.0
实现各种 UI 相关组件,例如 [ViewPager](https://developer.android.com/reference/android/support/v4/view/ViewPager.html?hl=zh-cn)
、 [NestedScrollView](https://developer.android.com/reference/android/support/v4/widget/NestedScrollView.html?hl=zh-cn)
和 [ExploreByTouchHelper](https://developer.android.com/reference/android/support/v4/widget/ExploreByTouchHelper.html?hl=zh-cn)
。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:support-core-ui:24.2.0
向后移植部分 媒体
框架,包括 [MediaBrowser](https://developer.android.com/reference/android/media/browse/MediaBrowser.html?hl=zh-cn)
和 [MediaSession](https://developer.android.com/reference/android/media/session/MediaSession.html?hl=zh-cn)
。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:support-media-compat:24.2.0
添加对使用 片段 封装用户界面和功能的支持,从而使应用能够提供可以在大屏幕设备与小屏幕设备之间进行调节的布局。此模块依赖于 compat 、 core-utils 、 core-ui 和 media-compat 。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:support-fragment:24.2.0
此库可以为使用多个 Dalvik Executable (DEX) 文件开发应用提供支持。引用超过 65536 个方法的应用须使用 Dalvik 可执行文件分包配置。如需了解有关使用 Dalvik 可执行文件分包的详细信息,请参阅 使用超过 6.4 万种方法开发应用 。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:multidex:1.0.0
一些库旨在与 Android 2.3(API 级别 9)及更高版本搭配使用。这些库提供了特定的功能集,并且可以单独添加到应用中,与其他库互不影响。
此库添加了对 操作栏 用户界面 设计模式 的支持。此库包含对 Material Design 用户界面实现的支持。
注:此库依赖于 v4 支持库。
下面是 v7 appcompat 库中包含的一些关键类:
[ActionBar](https://developer.android.com/reference/android/support/v7/app/ActionBar.html?hl=zh-cn)
- 提供操作栏 用户界面模式
的实现。如需了解有关使用操作栏的详细信息,请参阅 操作栏
开发者指南。 [AppCompatActivity](https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html?hl=zh-cn)
- 添加一个应用 Activity 类,此类可作为使用支持库操作栏实现的 Activity 的基础类。 [AppCompatDialog](https://developer.android.com/reference/android/support/v7/app/AppCompatDialog.html?hl=zh-cn)
- 添加一个对话框类,此类可作为 AppCompat 主题对话框的基础类。 [ShareActionProvider](https://developer.android.com/reference/android/support/v7/widget/ShareActionProvider.html?hl=zh-cn)
- 包含对可以添加到操作栏中的标准化分享操作(例如电子邮件或发帖至社交应用)的支持。 此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:appcompat-v7:24.2.0
此库添加了对 [CardView](https://developer.android.com/reference/android/support/v7/widget/CardView.html?hl=zh-cn)
小部件的支持,让您能够在卡片内显示信息,从而使应用具备一致的外观。这些卡片对 Material Design 实现非常有用,并在电视应用布局中广为使用。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:cardview-v7:24.2.0
下载 Android 支持库后,此库可以添加对 [GridLayout](https://developer.android.com/reference/android/support/v7/widget/GridLayout.html?hl=zh-cn)
类的支持,让您能够使用网状方格安排用户界面元素。如需了解有关 v7 gridlayout 库 API 的详细信息,请参阅 API 参考中的 [android.support.v7.widget](https://developer.android.com/reference/android/support/v7/widget/package-summary.html?hl=zh-cn)
软件包。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:gridlayout-v7:24.2.0
此库可以提供 [MediaRouter](https://developer.android.com/reference/android/support/v7/media/MediaRouter.html?hl=zh-cn)
、 [MediaRouteProvider](https://developer.android.com/reference/android/support/v7/media/MediaRouteProvider.html?hl=zh-cn)
和支持 Google Cast
的相关媒体类。
一般而言,利用 v7 mediarouter 库中的 API,您可以控制当前设备到外部屏幕、扬声器和其他目标设备的媒体渠道和流的路由。此库包含的 API 可以用于发布应用特定的媒体路由提供程序、发现和选择目标设备,以及检查媒体状态,等等。如需了解有关 v7 mediarouter 库 API 的详细信息,请参阅 API 参考中的 [android.support.v7.media](https://developer.android.com/reference/android/support/v7/media/package-summary.html?hl=zh-cn)
软件包。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:mediarouter-v7:24.2.0
支持库 r18 中引入的 v7 mediarouter 库 API 在后续版本的支持库中可能会发生更改。目前,我们建议仅使用与 Google Cast 有关的库。
v7 palette 支持库包含 [Palette](https://developer.android.com/reference/android/support/v7/graphics/Palette.html?hl=zh-cn)
类,此类让您可以从图像中抽取突出颜色。例如,音乐应用可以使用 [Palette](https://developer.android.com/reference/android/support/v7/graphics/Palette.html?hl=zh-cn)
对象从专辑封面抽取主要颜色,然后使用这些颜色创建一个色彩协调的歌曲标题卡。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:palette-v7:24.2.0
recyclerview 库添加了 [RecyclerView](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html?hl=zh-cn)
类。此类能够为 RecyclerView
小部件提供支持,RecyclerView 是一种通过提供有限的数据项窗口有效显示大数据集的视图。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:recyclerview-v7:24.2.0
首选项
软件包提供的 API 支持添加 preference 对象(例如 [CheckBoxPreference](https://developer.android.com/reference/android/support/v7/preference/CheckBoxPreference.html?hl=zh-cn)
和 [ListPreference](https://developer.android.com/reference/android/support/v7/preference/ListPreference.html?hl=zh-cn)
),方便用户修改 UI 设置。
v7 Preference 库添加了对接口(例如 [Preference.OnPreferenceChangeListener](https://developer.android.com/reference/android/support/v7/preference/Preference.OnPreferenceChangeListener.html?hl=zh-cn)
和 [Preference.OnPreferenceClickListener](https://developer.android.com/reference/android/support/v7/preference/Preference.OnPreferenceClickListener.html?hl=zh-cn)
)以及类(例如 [CheckBoxPreference](https://developer.android.com/reference/android/support/v7/preference/CheckBoxPreference.html?hl=zh-cn)
和 [ListPreference](https://developer.android.com/reference/android/support/v7/preference/ListPreference.html?hl=zh-cn)
)的支持。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:preference-v7:24.2.0
此库旨在与 Android 2.3(API 级别 9)及更高版本搭配使用。此库提供了特定的功能集,并且可以单独添加到应用中,与其他库互不影响。
此库旨在与 Android 2.3(API 级别 9)及更高版本搭配使用。它添加了对 RenderScript
计算框架的支持。 [android.support.v8.renderscript](https://developer.android.com/reference/android/support/v8/renderscript/package-summary.html?hl=zh-cn)
软件包中包含这些 API。请注意,在应用中添加这些 API 的步骤与添加其他支持库 API 迥然不同
。如需了解有关在应用中使用这些 API 的详细信息,请参阅 RenderScript
开发者指南。
注:Android Studio 和 Gradle 构建支持使用带支持库的 RenderScript。renderscript 库位于 build-tools/$VERSION/renderscript/
文件夹中。
以下示例显示了此库的 Gradle 构建脚本属性:
defaultConfig { renderscriptTargetApi 18 renderscriptSupportModeEnabled true }
此库旨在用于 Android 3.2(API 级别 13)及更高版本。它添加了对带有 ( [FragmentCompat](https://developer.android.com/reference/android/support/v13/app/FragmentCompat.html?hl=zh-cn)
) 类和其他片段支持类的 Fragment
用户界面模式的支持。如需了解有关片段的详细信息,请参阅 片段
开发者指南。如需了解有关 v13 支持库 API 的详细信息,请参阅 API 参考中的 [android.support.v13](https://developer.android.com/reference/android/support/v13/app/package-summary.html?hl=zh-cn)
软件包。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:support-v13:24.2.0
[android.support.v14.preference](https://developer.android.com/reference/android/support/v14/preference/package-summary.html?hl=zh-cn)
软件包提供的 API 添加了对首选项接口(例如 [PreferenceFragment.OnPreferenceStartFragmentCallback](https://developer.android.com/reference/android/support/v14/preference/PreferenceFragment.OnPreferenceStartFragmentCallback.html?hl=zh-cn)
和 [PreferenceFragment.OnPreferenceStartScreenCallback](https://developer.android.com/reference/android/support/v14/preference/PreferenceFragment.OnPreferenceStartScreenCallback.html?hl=zh-cn)
)以及类(例如 [MultiSelectListPreference](https://developer.android.com/reference/android/support/v14/preference/MultiSelectListPreference.html?hl=zh-cn)
和 [PreferenceFragment](https://developer.android.com/reference/android/support/v14/preference/PreferenceFragment.html?hl=zh-cn)
)的支持。如需了解有关 v14 Preference 支持库 API 的详细信息,请参阅 API 参考中的 首选项
软件包。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:preference-v14:24.2.0
[android.support.v17.preference](https://developer.android.com/reference/android/support/v17/preference/package-summary.html?hl=zh-cn)
软件包提供的 API 可以在电视设备上提供首选项接口,包括对 [LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener](https://developer.android.com/reference/android/support/v17/preference/LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener.html?hl=zh-cn)
接口和类的支持,例如 [BaseLeanbackPreferenceFragment](https://developer.android.com/reference/android/support/v17/preference/BaseLeanbackPreferenceFragment.html?hl=zh-cn)
和 [LeanbackPreferenceFragment](https://developer.android.com/reference/android/support/v17/preference/LeanbackPreferenceFragment.html?hl=zh-cn)
。如需了解有关 v17 Preference 支持库 API 的详细信息,请参阅 API 参考中的 首选项
软件包。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:preference-leanback-v17:24.2.0
[android.support.v17.leanback](https://developer.android.com/reference/android/support/v17/leanback/package-summary.html?hl=zh-cn)
软件包提供的 API 支持在电视设备上构建用户界面。它为电视应用提供了一些重要的小部件。一些值得注意的类包括:
[BrowseFragment](https://developer.android.com/reference/android/support/v17/leanback/app/BrowseFragment.html?hl=zh-cn)
- 一种用于创建主要布局的片段,主要布局用于浏览类别和媒体项目。 [DetailsFragment](https://developer.android.com/reference/android/support/v17/leanback/app/DetailsFragment.html?hl=zh-cn)
- 用于 Leanback 细节屏幕的包装器片段。 [PlaybackOverlayFragment](https://developer.android.com/reference/android/support/v17/leanback/app/PlaybackOverlayFragment.html?hl=zh-cn)
- 用于显示播放控件及相关内容的 [DetailsFragment](https://developer.android.com/reference/android/support/v17/leanback/app/DetailsFragment.html?hl=zh-cn)
子类。 [SearchFragment](https://developer.android.com/reference/android/support/v17/leanback/app/SearchFragment.html?hl=zh-cn)
- 用于处理搜索的片段。片段可以接收用户的搜索请求并将其传递给应用提供的 [SearchResultProvider](https://developer.android.com/reference/android/support/v17/leanback/app/SearchFragment.SearchResultProvider.html?hl=zh-cn)
。 [SearchResultProvider](https://developer.android.com/reference/android/support/v17/leanback/app/SearchFragment.SearchResultProvider.html?hl=zh-cn)
可以将搜索结果返回给 [SearchFragment](https://developer.android.com/reference/android/support/v17/leanback/app/SearchFragment.html?hl=zh-cn)
,后者会将结果渲染到 [RowsFragment](https://developer.android.com/reference/android/support/v17/leanback/app/RowsFragment.html?hl=zh-cn)
中。 此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:leanback-v17:24.2.0
注解 软件包提供的 API 支持向应用中添加注解元数据。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:support-annotations:24.2.0
设计 软件包提供的 API 支持向应用中添加 Material Design 组件和模式。
设计支持库添加了对应用开发者依赖的各种 Material Design 组件和模式的支持,例如抽屉式导航栏、浮动操作按钮 ( FAB )、快捷信息栏和 标签页 。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:design:24.2.0
自定义标签页 软件包提供的 API 支持向应用中添加自定义标签页并对其进行管理。
自定义标签页支持库添加了对 自定义标签页服务 和 自定义标签页回调 等各种类的支持。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:customtabs:24.2.0
百分比 软件包提供的 API 支持向应用中添加基于百分比的尺寸并对其进行管理。
百分比支持库添加了对 PercentLayoutHelper.PercentLayoutParams 接口和各种类的支持,例如 PercentFrameLayout 和 PercentRelativeLayout 。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:percent:24.2.0
应用建议 软件包提供的 API 支持向电视设备上运行的应用中添加内容建议。
应用库添加了对注解(例如 ContentRecommendation.ContentMaturity 和各种类(例如 ContentRecommendation 和 RecommendationExtender )的支持。
此库的 Gradle 构建脚本依赖关系标识符如下所示:
com.android.support:recommendation:24.2.0