title: Android Support Library
tags: Support Library,支持库
grammar_cjkRuby: true
---
DATE: 2016-5-13.

Support Library简介

Android Support Library(安卓支持库)是一系列代码库的集合,提供对早期Android 1.6+(API 4+)系统的兼容,并包含一些额外功能的API。每一个库针对不同的Android平台范围,并提供特定的功能集合。

Support Library特性

下面将介绍不同支持库所提供的主要功能和支持的安卓版本。通常,support v4 和 appcompat v7 包是推荐被包含到项目中,它们提供了最大范围的Android版本支持,包含了一些符合UI设计规范的API。

v4 Support Library

v4库被设计用来兼容Android 1.6(API 4)及以上的版本。相比其支持它库,它包含最多的API,包括程序兼容支持、可操作性、UI特性、数据绑定、网络连接、编程辅助工具类。
下面是一些关键的类:

程序组件

  1. Fragment
    Static library support version of the framework's Fragment. Used to write apps that run on platforms prior to Android 3.0. When running on Android 3.0 or above, this implementation is still used; it does not try to switch to the framework's implementation. See the framework Fragment documentation for a class overview.
    The main differences when using this support version instead of the framework version are:

    • Your activity must extend FragmentActivity
    • You must call getSupportFragmentManager() to get the FragmentManager
  2. NotificationCompat
    Helper for accessing features in Notification introduced after API level 4 in a backwards compatible fashion.
  3. LocalBroadcastManager
    Allows applications to easily register for and receive intents within a single application without broadcasting them globally.

UI控件类

  1. ViewPager:左右滑动切换的ViewGroup。
    Adds a ViewGroup that manages the layout for the child views, which the user can swipe between.
  2. PagerTitleStrip:ViewPager小圆点。
    Adds a non-interactive title strip, that can be added as a child of ViewPager.
  3. PagerTabStrip :页签。
    Adds a navigation widget for switching between paged views, that can also be used with ViewPager.
  4. DrawerLayout :侧边栏,拉出来。
    Adds support for creating a Navigation Drawer that can be pulled in from the edge of a window.
  5. SlidingPaneLayout
    Adds widget for creating linked summary and detail views that appropriately adapt to various screen sizes.

Accessibility可操作性

  • ExploreByTouchHelper - Adds a helper class for implementing accessibility support for custom views.
  • AccessibilityEventCompat - Adds support for AccessibilityEvent. For more information about implementing accessibility, see Accessibility.
  • AccessibilityNodeInfoCompat - Adds support for AccessibilityNodeInfo.
  • AccessibilityNodeProviderCompat - Adds support for AccessibilityNodeProvider.
  • AccessibilityDelegateCompat - Adds support for View.AccessibilityDelegate.

数据操作

  • Loader - Adds support for asynchronous loading of data. The library also provides concrete implementations of this class, including CursorLoader and AsyncTaskLoader.
  • FileProvider - Adds support for sharing of private files between applications.

在开发文档API Reference中包android.support.v4下可以看到v4库完整的类、接口等。
v4库文件位于sdk目录<sdk>/extras/android/support/v4/中,不包含UI资源(添加带资源的安卓库)。
使用v4库对应的Gradle依赖指令:com.android.support:support-v4:18.0.+

v7系列库

There are several libraries designed to be used with Android 2.1 (API level 7) and higher. These libraries provide specific feature sets and can be included in your application independently from each other.
v7系列库是针对API 7(Android 2.1)及以上系统的,v7系列包含多个独立的库,可根据它们的功能和项目需要分别引用。

v7 appcompat library兼容库

This library adds support for the Action Bar user interface design pattern.
为早先系统提供新版UI设计理念提出的Action Bar的支持,它依赖v4库。

下面列举v7兼容库的关键API:

  • ActionBar - Provides an implementation of the action bar user interface pattern. For more information on using the Action Bar, see the Action Bar developer guide.
  • ActionBarActivity - Adds an application activity class that must be used as a base class for activities that uses the Support Library action bar implementation.
  • ShareActionProvider - Adds support for a standardized sharing action (such as email or posting to social applications) that can be included in an action bar.

v7 gridlayout library网格布局

This library adds support for the GridLayout class, which allows you to arrange user interface elements using a grid of rectangular cells. For detailed information about the v7 gridlayout library APIs, see the android.support.v7.widget package in the API reference.
可以在包android.support.v7.widget下查看所有提供的API,GridLayout 不是适配器视图,不像GridView那样提供一致性的视图项目,可以灵活显示不同的内容,如Android中计算器布局。GridLayout 的继承层级较浅,性能比GridView好。

v7 mediarouter library

This library provides MediaRouter, MediaRouteProvider, and related media classes that support Google Cast.

v8 Support Library

引入:Render Script,在开发文档中“Develop > API Guides > Computation”中有详细介绍。
This library is designed to be used with Android (API level 8) and higher. It adds support for the RenderScript computation framework. These APIs are included in the android.support.v8.renderscript package. You should be aware that the steps for including these APIs in your application is very different from other support library APIs. For more information about using these APIs in your application, see the RenderScript developer guide.

Note: Use of RenderScript with the support library is supported with the Android Eclipse plugin and Ant build tools. It is not currently supported with Android Studio or Gradle-based builds.

v13 Support Library

Support classes to access some of the android.app package features introduced after API level 13 in a backwards compatible fashion.

This library is designed to be used for Android 3.2 (API level 13) and higher. It adds support for the Fragment user interface pattern with the (FragmentCompat) class and additional fragment support classes For more information about fragments, see the Fragments developer guide. For detailed information about the v13 Support Library APIs, see the android.support.v13 package in the API reference.

参考文档

Android开发文档

  • Develop > Tools > Support Library.

Android Support Library的更多相关文章

  1. Android Support Library介绍

    v4 Support Library 这个库是为Android 1.6(API版本为4)及以上的版本设计的,它包含大部分高版本中有而低版本中没有的API,包括application component ...

  2. As环境下添加android support library依赖库

    2015年的google大会上,google发布了新的Android Support Design库的新组件之一,以此来全面支持Material Design 设计风格的UI效果,为了可以使用这些新颖 ...

  3. [Xamarin.Android] Support Library Tips

    [Xamarin.Android] Support Library Tips Support Library支持内容 Xamarin Support Library每个版本支持.那些组件,可以参考这份 ...

  4. eclipse创建android项目失败的问题 [ android support library ]

    有根筋搭错了,想起来android应用开发???? 放下两年的手机应用开发,昨天有更新了android SDK, 重新搭建开发环境. 这两年android 变化真TM的大............... ...

  5. Android Support Library package简介

    转自http://my.oschina.net/chengliqun/blog/148451 N久未做android了,以前做的时候,2.2才刚出来,现在android都更新到了4.3了,而从前一段时 ...

  6. Android Support Library更新到v22.1之AppCompat新特性

    构建一个可以跑在不同版本 Android 平台的软件,是非常复杂和耗时的.为了解决这个问题,Android 推出了 Android Support Library (安卓兼容包),让新的UI控件也可以 ...

  7. Android - 用Fragments实现动态UI - 使用Android Support Library

    Android Support Library提供了一个带有API库的JAR文件来让你可以在使用最新的Android API的同时也也已在早期版本的Android上运行.例如,Support Libr ...

  8. Android support library支持包常用控件介绍(二)

    谷歌官方推出Material Design 设计理念已经有段时间了,为支持更方便的实现 Material Design设计效果,官方给出了Android support design library ...

  9. Android Support Library 是什么?

    这两天刚开始学习安卓,这里记录下这两天遇到的一些小问题. 首先先贴一个安卓 API 等级. 官方地址:https://developer.android.com/about/dashboards/ ( ...

随机推荐

  1. php定界符<<<EOF讲解(转)

    Heredoc技术.可用来输出大段的html和javascript脚本 1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西: 2.在PHP定界符中的任何特殊字符都不需要转义:  ...

  2. Delphi使用ADO进行数据库编程

    Delphi是一个可视化的编程工具,ADO编程也是这样,所以话不多言,直接通过代码.截图和语言来说明. 我的数据库是Oracle,为了测试,先建一个表:create table practice(un ...

  3. SQL Server 系统数据库

    Sql Server的系统数据库分为:master.model.msdb,resouce和tempdb,这五个数据库在SQL Server中各司其职,作为研发人员,很有必要了解这几个数据库的职责,下面 ...

  4. 【leetcode】Valid Parentheses

    题目简述: Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if th ...

  5. android开发读书笔记

    第九章心得: HAL ( Hardware Abstraction Layer,硬件抽象腔,〉是建立在Linux驱动之上的一套翻字库.这套程序 j率并不属于 Linux 内核, 而是属于 Linux ...

  6. jQuery 追加元素的方法如append、prepend、before,after(转)

    1.jQuery append() 方法 jQuery append() 方法在被选元素的结尾插入内容. 实例 复制代码代码如下: $("p").append("Some ...

  7. BFS_最短路径

    已知若干个城市的地图,求从一个城市到另一个城市的路径,要求路径中经过的城市最少. #include<iostream> #include<cstring> using name ...

  8. obj转json

    .js模型(JSON)的获取 方法一: 1.安装Python插件.安装完后配置环境变量,path中添加Python路径. 2.找到three.js\utils\converters\obj\conve ...

  9. HTML5 学习笔记(一)——HTML5概要与新增标签

    目录 一.HTML5概要 1.1.为什么需要HTML5 1.2.什么是HTML5 1.3.HTML5现状及浏览器支持 1.4.HTML5特性 1.5.HTML5优点与缺点 1.5.1.优点 1.5.2 ...

  10. homebrew update 出现Failure while executing: git pull --quiet origin refs/heads/master:refs/remotes/origin/master解决方案

    具体可以参考https://github.com/Homebrew/homebrew/issues/21002 cd /usr/local git status git reset --hard or ...