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