Android Support Library

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.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android先生

RxJava2 实战知识梳理(3) - 优化搜索联想功能

几乎每个应用程序都提供了搜索功能,某些应用还提供了搜索联想。对于一个搜索联想功能,最基本的实现流程为:客户端通过EditText的addTextChan...

9410
来自专栏Sorrower的专栏

快速上手ndk开发! Mac/Win下配置和使用!(2018.4重编版)

10330
来自专栏一只程序汪的自我修养

手把手教你用.NET Core写爬虫

自从上一个项目58HouseSearch从.NET迁移到.NET core之后,磕磕碰碰磨蹭了一个月才正式上线到新版本。

424120
来自专栏FreeBuf

远程RPC溢出EXP编写实战之MS06-040

0x01 前言 MS06-040算是个比较老的洞了,在当年影响十分之广,基本上Microsoft大部分操作系统都受到了影响,威力不亚于17年爆出的”永恒之蓝”漏...

362100
来自专栏ml

unbuntu系统( PC机 )中安装360wifi步骤

少说废话,每一步都经过验证:   1.  首先查看一下当前使用的linux版本: gxjun@gxjun:~$ uname -r 4.8.0-59-generi...

37430
来自专栏Android知识点总结

SpringBoot-12-之Ajax跨域访问全解析

45420
来自专栏数据和云

监控工具:Oracle 12c Cluster Health Monitor 详解

? 戴明明(Dave) Oracle ACE-A,ACOUG核心成员,宝存科技数据库方案架构师 Dave也是CSDN 认证专家,超过7年的DBA经验,擅长O...

44990
来自专栏恰童鞋骚年

.NET Core微服务之基于IdentityServer建立授权与验证服务(续)

上一篇我们基于IdentityServer4建立了一个AuthorizationServer,并且继承了QuickStartUI,能够成功获取Token了。这一...

36850
来自专栏比原链

Bytom移动端钱包SDK开发基础

Gitee地址:https://gitee.com/BytomBlockchain/bytom

14410
来自专栏MasiMaro 的技术博文

socket模型处理多个客户端

最近学完了简单的socket编程,发现其实socket的网络编程其实并没有什么难度,只是简单的函数调用,记住客户端与服务端的步骤,写起来基本没有什么问题。 ...

31520

扫码关注云+社区

领取腾讯云代金券