Android中的支持库

android studio 相关说明 | 2018-09-18 05:24

Android中的支持库有好多个android-support-v4,android-support-v7,android-support-v13等

例如:Android Studio中通过 compile 'com.android.support:support-v4:24.2.0' 引入v4支持库

支持库的出现是因为Android高版本系统中有些API在低版本系统上没有,例如:Fragment从Android 11才加入,App中使用了Fragment装在低于11的系统时系统中没有Fragment,导入了支持包就可以在低于11的版本中使用Fragment。

v4是为了支持Android 4以及之前的版本而推出的,同样v7是为了支持Android 7以及之前的系统推出的。

不过从v4:24.2.0和v7:24.2.0开始就只支持API 9了

有的API只在支持库中存在,例如要使用ViewPager只能通过引入支持库来使用

支持库的版本号和API level是对应关系,v4:24.2.0对应的API 24,如果版本不对可能会出现导入了支持包但是报找不到某个类的异常。

v4-24.2.0及之后的版本中将v4的包分拆成5个包,可单独引用

v4 compat library

为众多框架 API 提供兼容性包装器,例如 Context.obtainDrawable() 和 View.performAccessibilityAction()。此库的 Gradle 构建脚本依赖关系标识符如下所示:

compile 'com.android.support:support-compat:24.2.1'

v4 core-utils library

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

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

compile 'com.android.support:support-core-utils:24.2.1'

core-ui library

实现各种 UI 相关组件,例如 ViewPager、NestedScrollView 和 ExploreByTouchHelper。此库的 Gradle 构建脚本依赖关系标识符如下所示:

compile 'com.android.support:support-core-ui:24.2.1'

v4 media-compat library

向后移植部分媒体框架,包括 MediaBrowser 和 MediaSession。此库的 Gradle 构建脚本依赖关系标识符如下所示:

compile 'com.android.support:support-media-compat:24.2.1'

v4 fragment library

添加对使用片段封装用户界面和功能的支持,从而使应用能够提供可以在大屏幕设备与小屏幕设备之间进行调节的布局。此模块依赖于 compat、core-utils、core-ui 和 media-compat。此库的 Gradle 构建脚本依赖关系标识符如下所示:

compile 'com.android.support:support-fragment:24.2.1'

v7包分为7个包可单独引用

v7 appcompat library

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

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

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

ActionBar - 提供操作栏用户界面模式的实现。如需了解有关使用操作栏的详细信息,请参阅操作栏开发者指南。

AppCompatActivity - 添加一个应用 Activity 类,此类可作为使用支持库操作栏实现的 Activity 的基础类。

AppCompatDialog - 添加一个对话框类,此类可作为 AppCompat 主题对话框的基础类。

ShareActionProvider - 包含对可以添加到操作栏中的标准化分享操作(例如电子邮件或发帖至社交应用)的支持。此库的 Gradle 构建脚本依赖关系标识符如下所示:

compile'com.android.support:appcompat-v7:24.2.0'

v7 cardview library

此库添加了对 CardView 小部件的支持,让您能够在卡片内显示信息,从而使应用具备一致的外观。这些卡片对 Material Design 实现非常有用,并在电视应用布局中广为使用。此库的 Gradle 构建脚本依赖关系标识符如下所示:

compile'com.android.support:cardview-v7:24.2.1'

v7 gridlayout library

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

com.android.support:gridlayout-v7:24.2.1

v7 mediarouter library

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

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

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

com.android.support:mediarouter-v7:24.2.1

v7 palette library

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

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

com.android.support:palette-v7:24.2.1

v7 recyclerview library

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

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

com.android.support:recyclerview-v7:24.2.1

v7 Preference Support Library

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

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

com.android.support:preference-v7:24.2.1

由于v7和v4有依赖关系引入v7可能会自动引入v4的包,v4的包也有互相依赖关系