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的机器上运行。
二、用法
举例说明:
compile 'com.android.support:recyclerview-v7:25.0.0'
其中
com.android.support意为引入Android支持库
recyclerview是需要支持库提供的库
v7是最低要照顾哪个系统版本(版本号7 即 Android 2.1)
25.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 构建脚本依赖关系标识符如下所示:
com.android.support:support-v13:24.2.0
Android Support Library v4、v7、v13相关推荐
- android support v4、v7、v13
android support v4.v7.v13的区别及作用和用法 1, Android Support V4, V7, V13是什么? 本质上就是三个java library. 2, 为什么要有s ...
- android v4 v7 v14,Android Support v4、v7、v13、v14、v17的区别和应用场景
在我刚开始学习Android的时候,我是不清楚这几个包是拿来干嘛的,于是到网上找答案,发现基本上说的是v4.v7.v13的. 剩下的v14和v17到底是啥?不知道. 于是就一直没理会,因为开发的时候也 ...
- Android Support v4、v7、v13的区别和应用场景
google提供了Android Support Library package 系列的包来保证来高版本sdk开发的向下兼容性,即我们用4.x开发时,在1.6等版本上,可以使用高版本的有些特性,如fr ...
- Android Support v4、v7、v13 介绍
google提供了Android Support Library package 系列的包来保证来高版本sdk开发的向下兼容性,即我们用4.x开发时,在1.6等版本上,可以使用高版本的有些特性, ...
- 安卓在项目中添加Android兼容包( v4、v7 、、、)
如何选择兼容包, 一.查看SDK中是否有Support Library( v4.v7...) 注意该包是否在对应的SDK版本中!!! 二.没有则进行下载Support Library 方法1:右击项目 ...
- 如何更新android v7 support library,新手入门之Android Support Library | Soo Smart!
Support Library 这个支持包是一个一系列代码库,它提供了Android framework APIs的向后兼容的版本以及一些只有通过这个库包API才有的feature特性.每个Suppo ...
- Android Support library
1, Android Support V4, V7, V13是什么?本质上就是三个java library.2, 为什么要有support库?如果在低版本Android平台上开发一个应用程序,而应用程 ...
- Android Support Library介绍
一.Android Support Library存在的原因 Android自第一代发布以来,它的版本更新迭代的速度可以说是非常快的,但是android又是一个移动操作系统,是面对所有的用户的,并不是 ...
- 【翻译】Android Support Library Features(二)
原文地址:http://developer.android.com/tools/support-library/features.html 在Android Support Library包中,包含了 ...
最新文章
- SAP标准成本核算重要环节详解
- golang 对象 struct 类型转json
- SAP UI5 web Component里的条件渲染机制
- android 查看图片、保存图片
- 十四、PyCharm开发Python利用WMI修改电脑IP、DNS
- create-react-app 脚手架工具完善自己所需要的入口文件
- mysql的十进位,MySQL十进制字段的正确默认值是什么?
- linux strace调试用法
- mac如何安装svn
- 盲打打字php,盲打键盘指法图顺口溜及练习方法
- GPRS网络继电器(网络开关)介绍
- Word删除表格后的空白页
- 打开Excel超链接提示由于本机的限制该操作已被取消
- DreamWeaver CS5视频教程(建站必备)
- Android 华为手机获取相册图片路径,获取不到问题
- Java中常见的30道例题(附代码)
- Unknown column 'xxxx' in 'field list'
- 【华为机试真题 Python实现】藏宝图
- 计算机毕业设计 SSM车辆挂牌管理系统 电动车实名挂牌管理系统 车辆挂牌办理系统Java Vue MySQL数据库 远程调试 代码讲解
- deepin标题栏边框美化
热门文章
- 台湾国立大学郭彦甫Matlab教程笔记(4)matrix
- java毕业设计在线教学评比平台Mybatis+系统+数据库+调试部署
- 【愚公系列】2022年04月 Python教学课程 78-VUE组件中的数据和属性
- NMF(非负矩阵分解)分子分型
- 字节实习转正了,这是我的秘诀
- 鸿蒙系统服务器在哪,鸿蒙系统我的服务怎么打开、关闭?鸿蒙系统我的服务添加设置教程...
- 如何使用Xash3d引擎开发游戏一
- node.js+Express计算机毕业设计行程规划app(程序+LW+部署)
- app与bootloader共享内存的方法(分散加载文件)
- word2013-论文双栏情况下如何让图片单栏