Android Support Library
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特性、数据绑定、网络连接、编程辅助工具类。
下面是一些关键的类:
程序组件
- 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
- NotificationCompat
Helper for accessing features in Notification introduced after API level 4 in a backwards compatible fashion. - LocalBroadcastManager
Allows applications to easily register for and receive intents within a single application without broadcasting them globally.
UI控件类
- ViewPager:左右滑动切换的ViewGroup。
Adds a ViewGroup that manages the layout for the child views, which the user can swipe between. - PagerTitleStrip:ViewPager小圆点。
Adds a non-interactive title strip, that can be added as a child of ViewPager. - PagerTabStrip :页签。
Adds a navigation widget for switching between paged views, that can also be used with ViewPager. - DrawerLayout :侧边栏,拉出来。
Adds support for creating a Navigation Drawer that can be pulled in from the edge of a window. - 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.