原文地址
https://developer.android.com/topic/libraries/support-library/features.html
支持库为构建应用程序提供了广泛的类,从基本应用程序组件,用户界面小部件,媒体处理到电视应用程序组件。许多类是向后兼容的实现,但其中一些是自己的新功能。
本文档概述了支持库中可用功能的重要类别,以及构建应用程序时应该了解的特定类。
有关如何将支持库代码添加到您的应用开发项目的信息,请参阅支持库安装。有关如何在项目中包含特定支持库软件包的信息,请参阅 支持库软件包。
应用组件
这些支持库类提供了重要的核心平台功能的向后兼容的实现。这些实现通常会扩展该类的早期版本,以处理新版本中添加的新方法和新功能。其中一些类是完整的框架API的静态实现。
- 活动
ActivityCompat
- 包括最近的主要功能(如 运行时权限和动画转换)的向后兼容实现。FragmentActivity
- 为使用支持库版本Fragment
和Loader
API的活动提供向后兼容的实现。AppCompatActivity
- 为早期设备提供材质颜色主题,构件着色和应用栏支持。使用这个类需要你使用Theme.AppCompat
主题来保持一致的视觉表现。
Fragment
- 提供框架Fragment
类的独立实现。这个类必须和FragmentActivity
。ContextCompat
- 支持更新版本中引入的功能Context
,包括权限支持,文件访问和颜色信息。IntentCompat
- 为更新版本中引入的功能提供支持Intent
,包括选择和启动特定活动的方法。Loader
-提供了一个静态的实施框架Loader
类,而对于基类AsyncTaskLoader
和CursorLoader
支持类。Preference
- 此类及其子类以向下兼容的方式提供应用程序设置用户界面的实现。ContentResolverCompat
- 提供对该ContentResolver
类的更新版本中引入的功能的支持,特别是query()
支持取消正在进行的查询的方法。
用户界面
这些支持库类提供了关键用户界面小部件和行为的实现,并帮助您在早期的设备上创建更现代的应用程序界面。一些这些小部件只能通过支持库获得。
通用布局容器
这些支持类提供了可以适应不同设计用例的用户界面容器。
RecyclerView
- 创建用于显示长列表的布局,使用策略来避免高内存消耗。这个类允许你创建一个有限的窗口视图到一个更大的数据集,从而避免在显示列表时消耗大量的内存。有关使用的更多信息RecyclerView
,请参阅Recycler View 指南。ViewPager
- 提供允许用户左右翻页数据的布局。GridLayout
- 提供一个矩形网格中的孩子的布局,支持连续单元格的任意跨度和灵活的空间分布。此类提供GridLayout
Android 4.0(API级别14)中引入的类的向后兼容版本。PercentFrameLayout
并且PercentRelativeLayout
- 提供支持其子视图和内容的基于百分比的尺寸和边界的布局。
注:该ViewPager
,RecyclerView
,PercentFrameLayout
和PercentRelativeLayout
类只能从支持库。
专用布局容器
这些支持类提供了特定布局模式的兼容实现,例如可以从屏幕边缘拉出的抽屉视图,滑动面板和列表中的嵌套列表。
DrawerLayout
- 创建一个布局,允许从视图窗口的边缘拉出交互式 抽屉视图。SlidingPaneLayout
- 提供水平的多窗格布局,用于应用程序用户界面的顶层,用于创建可平滑适应多种不同屏幕尺寸的布局,在较大的屏幕上展开并折叠以适应较小的屏幕。NestedScrollView
- 支持嵌套其他滚动视图的滚动布局,使您可以创建列表,并使用包含其他子项列表的项目。这些嵌套列表可以包含水平或垂直滚动的项目,与父列表分开。SwipeRefreshLayout
- 提供一个布局来支持用手指轻扫手势刷新列表或其他布局的数据。
视图,对话框和小部件
支持库提供了许多用于显示内容和在布局中提供用户交互元素的类。
CardView
- 用于创建Material Design样式显示卡的支持库自定义类。这个类是基于FrameLayout的圆角和阴影。AppCompatDialogFragment
- 通过扩展DialogFragment
和使用提供一致风格的对话框AppCompatDialog
。NotificationCompat
- 以向下兼容的方式为新的通知样式提供支持。SearchView
- 为用户提供一个类,用于输入搜索查询并将请求提交给主要用于应用程序栏的搜索提供程序。
材料设计
支持库提供了许多实现Material Design用户界面建议的类。android.support.design
包中提供了许多这些类。
CoordinatorLayout
- 为包含Material Design组件和行为的布局提供顶级容器。这个类也可以作为一个容器与一个或多个子视图进行特定的交互。AppBarLayout
- 提供Material Design 应用栏概念的许多滚动功能的实现 。FloatingActionButton
- 创建浮动按钮来显示特殊类型的提升动作。此Material Design用户界面元素显示为浮动在应用程序用户界面上方的圆圈图标。有关此用户界面元素的更多信息,请参阅 浮动操作按钮设计建议。TabLayout
- 提供显示标签页面的布局。这个小部件是专为与ViewPager
该类一起使用而设计的。Snackbar
- 提供一个小部件,用于使用Material Design小吃棒模型显示有关操作的轻量级反馈。
图像
该android.support.graphics.drawable
软件包提供对矢量绘图的支持 。通过使用矢量绘图,您可以用XML中定义的单个矢量图形替换多个PNG资源。
VectorDrawableCompat
提供对API级别9及以上的矢量绘图的支持。AnimatedVectorDrawableCompat
为API级别11及以上的动画矢量绘图提供支持。
无障碍
该android.support.v4.view.accessibility
软件包提供了兼容性类,用于实现API级别14及更高版本中引入的辅助功能,这些辅助功能允许辅助功能服务观察和识别用户与屏幕上显示的项目的交互。
ExploreByTouchHelper
- 在自定义视图 中提供可访问性支持,表示类似于视图的逻辑项的集合。
媒体播放
Android支持库为运行早于Android 4.1(API级别16)的平台版本的设备提供媒体路由器功能的后端支持。这些类允许控制连接的Android设备上的媒体播放:
MediaRouter
- 使应用程序能够控制从当前设备到外部扬声器和目标设备的媒体通道和流的路由。MediaControllerCompat
- 允许应用与正在进行的媒体会话进行互动。应用程序可以通过此机制提供媒体控制按钮,并将其他播放命令发送到会话。MediaSessionCompat
- 提供用于媒体播放的远程控制界面,实现与其他应用程序或单独设备上的媒体控制器,音量键,媒体按钮和传输控件的交互。
电视应用
Android SDK提供库来支持大屏幕及其相关控制器等外观因素。应用程序可以依赖相应的支持库来提供各种平台版本的功能,并且可以在外部屏幕,扬声器和其他目标设备上提供内容。
穿应用程序
Android SDK提供库来支持手表。这些库为佩戴手表的用户提供了可用的功能。
公用事业
Android支持库提供了许多没有内置到框架中的功能。这些库提供了一系列应用程序可以使用的工具。