Android Support Library v4、v7、v13

一、前言

关于Android Support Library,官网是这样解释的:

“Android 支持库提供了诸多未内置于框架的功能。这些库提供向后兼容版本的新功能、框架中未包含的实用 UI 元素,以及应用可以利用的一系列实用程序。”

官网参考链接:https://developer.android.com/topic/libraries/support-library/index.html

通俗点来说,就是APP需要支持的系统最低版本(minSdkVersion)比较低,而要用到的某些功能、UI控件是在某个高版本中才出现的,但是你又非要用,咋办?低版本系统跑不起来的。

于是,谷歌就提供了Android Support Library Package来保证高版本sdk开发的向后兼容。

举个例子:

RecyclerView是在Android 5.0出现的UI控件,项目中需要用到它。但项目的minSdkVersion=16,即最低要支持Android 4.1的机器能够安装这个APP。这时候就要引入支持库以使RecyclerView能够在最低Android 4.1的机器上运行。


二、用法

举例说明

implementation 'com.android.support:recyclerview-v7:28.0.0'

其中

com.android.support意为引入Android支持库

recyclerview是需要支持库提供的库

v7是最低要照顾哪个系统版本(版本号7 即 Android 2.1)

28.0.0是要使用Android SDK的哪个版本编译应用,即compileSdkVersion


三、区别

(1)Android Support v4:为1.6及以上版本而设计,1.6以下不提供支持

(2)Android Support v7:为2.1及以上版本而设计,2.1以下不提供支持

      注意:各位可能在很多帖子里会看到“v7 包是依赖 v4 包的,引入 v7 包的话要同时引入 v4 包”这样的说法,不完全正确。有些库需要,如“v7 appcompat库”,大多数库都不需要。具体的库后面列出。

(3)Android Support v13:为3.2及以上版本而设计,3.2以下不提供支持。较少用到,一般用于平板APP的开发。

(4)v8、v14、v17:不再详细讨论,有兴趣请查看官网。


四、各版本支持库

官网链接:https://developer.android.com/topic/libraries/support-library/features.html

1、v4支持库

(1)v4 compat 库

为众多框架 API 提供兼容性包装器,例如 Context.obtainDrawable() 和 View.performAccessibilityAction()。

(2)v4 core-utils 库

提供大量实用程序类,例如 AsyncTaskLoader 和 PermissionChecker。

(3)v4 core-ui 库

实现各种 UI 相关组件,例如 ViewPager、NestedScrollView 和 ExploreByTouchHelper。

(4)v4 media-compat 库

向后移植部分媒体框架,包括 MediaBrowser 和 MediaSession。

(5)v4 fragment 库

添加对使用片段封装用户界面和功能的支持,从而使应用能够提供可以在大屏幕设备与小屏幕设备之间进行调节的布局。此模块依赖于 compat、core-utils、core-ui 和 media-compat。

2、v7支持库

(1)v7 appcompat 库

此库添加了对操作栏用户界面设计模式的支持。此库包含对 Material Design 用户界面实现的支持。

注:此库依赖于 v4 支持库。

下面是 v7 appcompat 库中包含的一些关键类:

    ActionBar - 提供操作栏用户界面模式的实现。如需了解有关使用操作栏的详细信息,请参阅操作栏开发者指南。
    AppCompatActivity - 添加一个应用 Activity 类,此类可作为使用支持库操作栏实现的 Activity 的基础类。
    AppCompatDialog - 添加一个对话框类,此类可作为 AppCompat 主题对话框的基础类。
    ShareActionProvider - 包含对可以添加到操作栏中的标准化分享操作(例如电子邮件或发帖至社交应用)的支持。

(2)v7 cardview 库

此库添加了对 CardView 小部件的支持,让您能够在卡片内显示信息,从而使应用具备一致的外观。这些卡片对 Material Design 实现非常有用,并在电视应用布局中广为使用。

(3)v7 gridlayout 库

下载 Android 支持库后,此库可以添加对 GridLayout 类的支持,让您能够使用网状方格安排用户界面元素。如需了解有关 v7 gridlayout 库 API 的详细信息,请参阅 API 参考中的 android.support.v7.widget 软件包。

(4)v7 mediarouter 库

此库可以提供 MediaRouter、MediaRouteProvider 和支持 Google Cast 的相关媒体类。

一般而言,利用 v7 mediarouter 库中的 API,您可以控制当前设备到外部屏幕、扬声器和其他目标设备的媒体渠道和流的路由。此库包含的 API 可以用于发布应用特定的媒体路由提供程序、发现和选择目标设备,以及检查媒体状态,等等。如需了解有关 v7 mediarouter 库 API 的详细信息,请参阅 API 参考中的 android.support.v7.media 软件包。

(5)v7 palette 库

v7 palette 支持库包含 Palette 类,此类让您可以从图像中抽取突出颜色。例如,音乐应用可以使用 Palette 对象从专辑封面抽取主要颜色,然后使用这些颜色创建一个色彩协调的歌曲标题卡。

(6)v7 recyclerview 库

recyclerview 库添加了 RecyclerView 类。此类能够为 RecyclerView 小部件提供支持,RecyclerView 是一种通过提供有限的数据项窗口有效显示大数据集的视图。

(7)v7 Preference 支持库

首选项软件包提供的 API 支持添加 preference 对象(例如 CheckBoxPreference 和 ListPreference),方便用户修改 UI 设置。

v7 Preference 库添加了对接口(例如 Preference.OnPreferenceChangeListener 和 Preference.OnPreferenceClickListener)以及类(例如 CheckBoxPreference 和 ListPreference)的支持。

3、v13支持库

添加了对带有 (FragmentCompat) 类和其他片段支持类的 Fragment 用户界面模式的支持。如需了解有关片段的详细信息,请参阅片段开发者指南。如需了解有关 v13 支持库 API 的详细信息,请参阅 API 参考中的 android.support.v13 软件包。

此库的 Gradle 构建脚本依赖关系标识符如下所示:

implementation 'com.android.support:support-v13:28.0.0‘

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值