support v7兼容包有什么用呢?首先这个兼容包是个支持库。所以我们从支持库开始理解。
概览
由于Android系统有很多版本,对于不同的版本,同一个功能,会出现不同。而我们要做的就是让其能够在不同版本的 Android 系统之间顺畅切换。
为了解决这一问题,Android SDK 添加了多个库,这些库统称为“Android 支持库” 。如果应用开发者想要在应用中集成库功能,他们可以添加其中任意一个库。
支持库提供一系列不同的功能:
1、向后兼容版本的框架组件。
2、用于实现建议的 Android布局模式的 UI 元素。
3、支持不同的设备类型。
4、实用程序功能。
向后兼容性
支持库可以让在旧版本 Android 平台上运行的应用支持为新版本平台推出的功能。例如,应用在依赖于框架类的 5.0(API 级别 21)版本以下的 Android 系统上运行时,将无法显示 Material Design 元素,因为该版本的 Android 框架不支持 Material Design。但是,如果此应用添加了支持库的appcompat 库,则可以访问 API 级别 21 中具有的许多功能,其中包括对 Material Design 的支持。因此,您的应用可以在多个平台版本中提供更为一致的体验。
某些情况下,类的支持库版本很大程度上取决于框架提供的功能。因此,如果应用调用其中一个支持类的方法,则支持库的行为将取决于运行应用的 Android 版本。如果框架提供必要的功能,则支持库将通过调用框架执行任务。如果应用在旧版本的 Android 上运行,且框架未显示所需的功能,则支持库自身可能会尝试提供功能或什么都不做。无论是哪一种情形,应用通常都不需要检查其在哪一版本的 Android 上运行,而是通过支持库执行检查并选择适当的行为。通常情况下,名称以 …Compat(如ActivityCompat)结束的类即是如此。
而另外一些情况下,支持库类提供一个不依赖于任何框架 API 可用性的完整、独立版框架类。这些方法可以在支持的所有平台中提供一致的行为。
无论是哪一种情形,应用均无需在运行期间检查系统版本。应用可通过支持库类执行适当的系统检查,并在必要时修改其行为。
支持一般布局模式
支持库提供 Android 框架中未提供的用户界面元素。例如,Android 支持库提供其他布局类,如DrawerLayout。
这些类遵循建议的 Android 设计做法;例如,设计库以一种适合多个 Android 版本的方式遵循 Material Design 的原则。
支持不同的设备类型
Android SDK 为 TV 和穿戴式设备等多种不同的设备类型提供库。应用可以通过相应的支持库为各种平台版本提供功能,且可以在外部屏幕、扬声器和其他目标设备上提供内容。
一般实用程序
Android 支持库提供向后兼容的实用程序功能。
应用可以使用这些实用程序功能为各种 Android 系统版本提供相应的用户体验。例如,支持库的权限处理方式取决于运行应用的平台版本。如果平台支持运行时权限模式,这些方法会向用户请求相应的权限;在不支持运行时权限模式的平台版本中,这些方法将在安装时检查是否已获得相应的权限。