支持库版本存档

此页面提供有关较旧的支持库软件包版本的详细信息。有关最新的支持库版本,请参阅 最近的支持库版本

版本 26.0.0 Beta 2

(2017 年 6 月)

请注意,26.0.0-beta2 是预发布版本。它的 API 表面可能会发生变化,并且不一定包含来自支持库最新稳定版本的特性或错误修复。

重要提示:支持库现在可通过 Google 的 Maven 存储库获取。您无需从 SDK 管理器下载支持存储库。有关更多信息,请参阅 支持库设置

新 API

API 差异

错误修复

  • Android O SDK 丢失导致 TextView 中的斜体丢失
  • 连接到 MediaBrowserServiceCompat 时出现空指针异常
  • TextInputLayout 必须在 onProvideAutofillStructure() 上设置提示
  • 在 O 上使用 TextView 自动调整大小会导致堆栈溢出

版本 26.0.0 Beta 1

(2017 年 5 月)

请注意,26.0.0-beta1 是预发布版本。它的 API 表面可能会发生变化,并且不一定包含来自支持库最新稳定版本的特性或错误修复。

重要提示:支持库现在可通过 Google 的 Maven 存储库获取。您无需从 SDK 管理器下载支持存储库。有关更多信息,请参阅 支持库设置

重要更改

  • FragmentActivity.setSupportMediaController()FragmentActivity.getSupportMediaController() 已被删除。请使用新的静态 MediaControllerCompat.setMediaController()MediaControllerCompat.getMediaController() 方法。
  • BottomNavigationView 现在在选择已选定项目时调用 onNavigationItemReselected(),而不是调用 onNavigationItemSelected()
  • 所有 findViewById() 方法的实例现在返回 <T extends View> T 而不是 View。此更改具有以下影响
    • 这可能会导致现有代码现在具有不明确的返回类型,例如,如果同时存在 someMethod(View)someMethod(TextView),它们都接受对 findViewById() 的调用的结果。
    • 使用 Java 8 源语言时,这需要在返回类型不受约束的情况下进行显式强制转换为 View(例如,assertNotNull(findViewById(...)).someViewMethod())
    • 非最终 findViewById() 方法的重写(例如,Activity.findViewById())将需要更新其返回类型。

新 API

  • FragmentManagerFragment 具有一个 isStateSaved() 方法,允许查询事务是否允许在没有状态丢失的情况下执行。这在处理 onClick() 事件时特别有用,以在执行任何事务之前进行检查。
  • AnimatedVectorDrawableCompat 支持路径运动。路径运动允许一个对象动画器根据一个路径同时更改两个属性;该路径在动画器的 XML 中指定为 android:pathData
  • 基于物理的动画:
    • 新的 FlingAnimation 支持使用初始速度进行动画,并平滑减速。
    • DynamicAnimation 的子类支持为任何对象进行自定义属性动画。
    • SpringAnimationFlingAnimation 现在可以对浮点值进行动画,而无需与 ViewObject 相关联。

    有关更多信息,请参阅 弹簧动画弹射动画 预览页面。

  • XML 中的字体支持:
    • ResourcesCompat.getFont 允许加载字体资源(包括字体系列 XML),这些资源可用于 TextView.setTypeface()
    • 使用 AppCompat 时,TextView 支持通过 android:fontFamily XML 属性指定字体资源或字体系列 XML。
    • 使用 XML 字体系列创建具有样式和粗细变化的字体系列。(如果您使用支持库类来执行此操作,请使用 app: 属性以及 android: 属性。)
  • 可下载字体
    • 新的 FontsContractCompat 允许您从字体提供商请求字体,而不是将它们捆绑在您的应用程序中。
    • 字体也可以在 XML 中请求并在布局中使用。
  • 表情符号兼容性库:
    • EmojiCompat 可以处理给定的 CharSequence 并添加 EmojiSpans
    • EmojiTextView 和其他小部件来显示表情符号。
    • FontRequestEmojiCompatConfig 用于从字体提供程序请求表情符号字体。
  • 自动调整大小的 TextView:
    • TextViewCompat 中新增的方法以及用于控制 TextView 中自动调整大小的 XML 属性。
  • 带有搜索支持的 Leanback 播放控件
    • 新增的 PlaybackTransportRowPresenter,用于呈现带有 SeekBar 的播放控件。
    • 新增的 PlaybackTransportControlGlue,它与 PlaybackTransportRowPresenter 配合使用并支持搜索。
    • 新增的基类 PlaybackSeekDataProvider,供应用向 PlaybackTransportControlGlue 提供搜索缩略图。
  • 首选项数据存储
    • PreferenceDataStore 现在允许您实现自己的首选项存储,使用 PreferencePreferenceManager 中的新方法设置。

已知问题

  • 可下载字体和表情符号兼容性与 Google Play 服务的集成仅适用于 Google Play 服务 v11+,目前可通过 Google Play 服务测试版计划 获得。

错误修复

  • MediaBrowserCompat.search() API 不起作用(AOSP 问题 262170
  • ViewCompat.postInvalidateOnAnimation() 抛出异常(AOSP 问题 80146
  • 已销毁的 Activity 中的 Fragment 也会调用 onActivityCreated()
  • RecyclerView.isComputingLayout() 应该在预取期间返回 true
  • Fade 过渡被中断并反转时,View 从头开始动画。(从 Android 框架移植的修复。)
  • Transition.Fade 忽略了 View 的初始 alpha(AOSP 问题 221820

修订版本 26.0.0 Alpha 1

(2017 年 3 月)

请注意,26.0.0-alpha1 是一个预发布版本。其 API 表面可能会发生变化,它不一定包含来自最新稳定版本的 Support Library 的功能或错误修复。

重要更改

注意:最小 SDK 版本已提升至 14。因此,许多仅针对 API < 14 兼容性而存在的 API 已被弃用。这些 API 的客户端应迁移到其框架等效项,如每个弃用 API 的参考页面中所述。

  • support-percent 模块已弃用。该模块的客户端应迁移到新的 ConstraintLayout 小部件,该小部件作为 SDK Manager 中的单独构件提供。
  • support-fragment 模块不再依赖于 support-media-compat 模块。

新 API

添加了许多新类、方法和常量,以提供对 O 预览中添加的平台 API 的向后兼容支持。

  • IME_FLAG_NO_PERSONALIZED_LEARNING:IME 可以监听针对具有私有模式(例如浏览器)的应用的“无学习”标志。此功能帮助 IME 了解应用是否处于私有模式,以便在应用处于该模式时禁用其学习或自适应功能。

有关 25.2.0 和 26.0.0-alpha1 之间 API 更改的完整列表,请参阅 支持库 API 差异报告

错误修复

  • 在某些情况下,简单的 AutoTransition 动画可能会被视图“跳跃”中断。(AOSP 问题 221816

修订版本 25.4.0

(2017 年 6 月)

重要提示:支持库现在可通过 Google 的 Maven 存储库获取。您无需从 SDK 管理器下载支持存储库。有关更多信息,请参阅 支持库设置

重要更改

  • executePendingTransactions()commitNow()popBackStackImmediate() 和类似的事务调用在 FragmentManager 状态更改期间不允许。事务的重入执行是不安全的,FragmentManager 现在在其状态更改期间强制执行此操作。
  • 与此支持库版本同时发布的还有 multidex 版本 1.0.2。此版本包括以下重要更改
    • 允许对仪器 APK 进行多 dex 处理。
    • 弃用 MultiDexTestRunner(应使用 AndroidJUnitRunner 代替)。
    • 提供更好的保护,防止应用出现某些不良的存档提取管理。
    • 修复了可能导致临时文件被遗弃的错误。
    • 在并发进程中执行时,安装速度更快。
    • 修复了 API 19 和 20 上的安装错误。

新增和修改的 API

AnimatedVectorDrawableCompat 中支持路径变形和路径插值。路径变形允许形状从一条路径(指定为 android:valueFrom)更改为另一条路径(指定为 android:valueTo),以提供复杂而吸引人的视觉效果。路径插值允许将 AnimatedVectorDrawableCompat 的插值器指定为路径(在插值器的 XML 中指定为 android:pathData)。

API 差异

已修复的问题

  • 连接到 MediaBrowserServiceCompat 时出现空指针异常
  • MediaBrowserCompat.search() API 不起作用(AOSP 问题 262170
  • BrowseFragment onItemClicked 回调在 25.3.0 中已损坏
  • 在 25.3.1 中,在 VerticalGridView 中上下滚动时出现 NullPointerException
  • SimpleArrayMap.allocArrays() 中出现 ClassCastException

修订版本 25.3.1

(2017 年 3 月)

已修复的问题

修订版本 25.3.0

(2017 年 3 月)

重要更改

Support Library 版本元数据将在从 Gradle 构建时自动添加到 AndroidManifest.xml 中,这简化了在公共构建中跟踪版本的流程。例如

<meta-data android:name="android.support.VERSION" android:value="25.3.0" />

弃用

在此版本中,已弃用了一些方法和类。这些弃用 API 将在将来的版本中删除,开发人员应迁移到其他 API。有关如何迁移到特定 API 的更多信息,请参阅其文档。

ExifInterface
布尔方法 getLatLong(float[]) 已被弃用。请改用新方法 getLatLong(),它不接受任何参数并返回 double[]
mediacompat
PlaybackStateCompat.Builder.setErrorMessage(CharSequence) 已被弃用。请改用新方法 setErrorMessage(int, CharSequence),它传递一个错误代码和一个可选描述。
EXTRA_SUGGESTION_KEYWORDS 已被弃用。请改用 MediaBrowserCompat 搜索功能。
v7.recyclerview
LinearLayoutManager.getInitialItemPrefetchCount() 已重命名为 LinearLayoutManager.getInitialPrefetchItemCount()。旧名称仍然受支持,但将在将来的版本中删除。

新增和修改的 API

appcompat-v7
新方法 ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean) 简化了禁用导航抽屉切换图标动画的操作。
customtabs
添加了对消息通道的支持。有关详细信息,请参阅 CustomTabsService.requestPostMessageChannel()CustomTabsService.postMessage() 参考。
dynamic-animation
新的基于物理的动画库,提供了一组 API,用于构建动态响应用户输入的动画。
leanback-v17
添加了对视差背景的支持。有关详细信息,请参阅 Parallax 参考。
添加了 TimePicker 小部件,用于在电视界面上选择时间。
mediacompat
添加了搜索功能。有关详细信息,请参阅 MediaBrowserCompat.search()MediaBrowserServiceCompat.onSearch() 参考。
添加了对洗牌和重复模式的支持。有关详细信息,请参阅 MediaSessionCompat.setRepeatMode()setShuffleModeEnabled() 参考。

已修复的问题

修订版本 25.2.0

(2017 年 2 月)

重要更改

已修复的问题

  • 此版本修复了 mediarouter 中的一个严重问题,即使用 A2DP 设备和媒体路由 API 可能会导致设备无响应,需要重新启动。
  • FragmentManager.FragmentLifecycleCallbacks 类现在是静态的。

已修复的问题

  • 使用屏幕镜像显示幻灯片演示会导致设备断开 Wi-Fi 连接
  • 媒体按钮无法正确处理未向 setMediaButtonReceiver() 注册自己的媒体应用
  • VectorDrawable 出现字符串资源错误(AOSP 问题 232407
  • TextInputLayout 如果文本由 XML 设置,则会覆盖提示和文本(AOSP 问题 230171
  • MediaControllerCompat 中存在内存泄漏(AOSP 问题 231441
  • RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback() 崩溃
  • RecyclerView 在回收视图持有者时崩溃(AOSP 问题 225762
  • getAllowGeneratedReplies() 错误地为 WearableExtender 中的动作返回 false

版本 25.1.1

(2017 年 1 月)

重要:在支持库版本 25.1.1 和 25.1.0 中的 android.support.v7.media.MediaRouter 类中存在已知错误。如果您的应用使用 v7 MediaRouter,您应更新到 支持库版本 25.2.0,该版本修复了此错误。

重要更改

  • 现在可以在事务内部和事务之间优化片段事务。优化片段事务操作可以消除取消的操作。例如,假设执行两个事务,一个添加片段 A,另一个用片段 B 替换片段 A。在这种情况下,第一个操作可能会被取消,并且只添加片段 B。这意味着片段 A 可能不会经历创建/销毁生命周期。

    此优化的副作用是片段可能具有超出预期顺序的状态变化。例如,假设一个事务添加片段 A,第二个添加片段 B,然后第三个删除片段 A。如果没有优化,片段 B 可以预期在创建时片段 A 也将存在,因为片段 A 将在片段 B 添加后被删除。使用优化后,片段 B 无法确定片段 A 在 B 创建时是否存在,因为片段 A 的创建和销毁可能已被优化删除。

    此优化默认情况下处于禁用状态。要启用优化,请调用 FragmentTransaction.setAllowOptimization(true)

  • 片段现在可以使用 Fragment.postponeEnterTransition()Fragment.startPostponedEnterTransition() 将其转换和动画推迟到准备就绪。此 API 与 Activity.postponeEnterTransition()Activity.startPostponedEnterTransition() 在 Activity 转换中使用类似。

已修复的问题

版本 25.1.0

(2016 年 12 月)

重要:在支持库版本 25.1.1 和 25.1.0 中的 android.support.v7.media.MediaRouter 类中存在已知错误。如果您的应用使用 v7 MediaRouter,您应更新到 支持库版本 25.2.0,该版本修复了此错误。

重要更改

  • 嵌套 RecyclerView 小部件(例如,水平滚动列表的垂直滚动列表)的客户端可以通过提示内部 RecyclerView 小部件的布局管理器在屏幕上滚动之前准备多少个项目来获得显着的性能提升。调用 LinearLayoutManager.setInitialPrefetchItemCount(N),其中 N 是每个内部项目可见的视图数量。例如,如果您的内部水平列表一次显示至少三个半项目视图,您可以通过调用 LinearLayoutManager.setInitialPrefetchItemCount(4) 来提高性能。这样做允许 RecyclerView 在外部 RecyclerView 滚动时提前创建所有相关视图,这显着减少了滚动期间的卡顿量。
  • FragmentActivity.setSupportMediaController()FragmentActivity.getSupportMediaController() 已被弃用。请使用新的静态 MediaControllerCompat.setMediaController()MediaControllerCompat.getMediaController() 方法。
  • 当客户端通过 appcompat 着色指定小部件着色(例如,appcompat:buttonTint)时,客户端有责任提供所有必要的状态(例如,“禁用”、“按下”等)。这与在使用框架着色时指定小部件着色方式一致。

新增和修改的 API

已修复的问题

  • 密码可见性切换未能通过无障碍测试。
  • Appcompat 在 L 之前版本的设备上不尊重 state_enabled
  • RecyclerView 添加了焦点恢复机制。这还修复了支持预取片段在使用 DPAD 导航(例如在 Android TV 设备上)时出现焦点错误。
  • Leanback:BrowseFragment 在禁用标题和空适配器时崩溃。
  • Appcompat:AlertDialog 太宽。
  • InputContentInfoCompat 调用 requestPermission(),而它应该调用 releasePermission()
  • MediaBrowserCompat 崩溃。
  • CoordinatorLayout 在将可见性设置为 GONE 时测量/布局视图。
  • 无法在低于 API 级别 24 的情况下对 AnimatedVectorDrawableCompat 进行着色
  • Leanback 库触发了虚假的 lint 错误
  • Palette 库在每个 API 级别上都导致测试失败
  • RecyclerView 在 Leanback 上的测试失败
  • RecyclerView 在回收视图持有者时崩溃(AOSP 问题 225762
  • Fragment.onDestroy() 未为回退栈中的片段调用
  • CollapsingToolbarLayout 蒙版在折叠时未绘制
  • CoordinatorLayout.offsetChildByInset() 抛出 IllegalArgumentException
  • 动画 RecyclerView 项目分离内部 RecyclerView,阻止将来的预取
  • 已附加的 RecyclerView 项目无法进行嵌套预取
  • 嵌套 RecyclerView 项目的预取数据在第一次布局期间被丢弃
  • RecyclerView 预取如果两个拖动事件到达相同位置,则会失败
  • RecyclerView 应该在 RenderThread 渲染时推测性地布局
  • 夜间配置的颜色资源转换为 Drawable 后,并不总是正确地从 Resources 缓存中清除
  • FloatingActionButton: 以编程方式设置 BackgroundTintList 无法正常工作(AOSP 问题 227428
  • TextInputLayout: 错误视图未设置字体(AOSP 问题 227803
  • TextInputLayout 在 API 23 以下始终回退到浅色错误颜色(AOSP 问题 221992
  • FloatingActionButton 指针离开时显示为按下状态

完整的公共错误修复列表可以在 AOSP 问题跟踪器 上找到。

弃用

在此版本中,已弃用了一些方法和类。这些弃用 API 将在将来的版本中删除,开发人员应迁移到其他 API。有关如何迁移到特定 API 的更多信息,请参阅其文档。

版本 25.0.1

(2016 年 11 月)

已修复的问题

完整的公共错误修复列表可以在 AOSP 问题跟踪器 上找到。

版本 25.0.0

(2016 年 10 月)

重要更改

  • ContextCompat 构造函数已变为受保护的。不应公开实例化此类,但支持库可以扩展它以面向更新的 API 级别。
  • ActivityCompat 构造函数已变为受保护的。不应公开实例化此类,但支持库可以扩展它以面向更新的 API 级别。
  • getReferrer(Activity) 已变为静态方法。
  • android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V) 已被移除。任何此方法的客户端实现都应移除。
  • android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object) 已被移除。使用应替换为更具描述性的方法 fromMediaSession()
  • android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object) 已被移除。使用应替换为更具描述性的方法 MediaSessionCompat.QueueItem#fromQueueItem
  • android.support.v7.widget.Space 已被移除。使用应替换为 android.support.v4.widget.Space

新 API

  • android.support.design.widget.BottomNavigationView 类实现了来自 Material Design 规范的 底部导航 模式。
  • 新的 android.support.v13.view.inputmethod 包包含用于访问 API 级别 13 之后引入的 android.view.inputmethod.InputConnection 功能的类。
  • android.v7.widget.RecyclerView.DividerItemDecoration 类为项目之间的垂直或水平分隔线提供基本实现。
  • android.support.v7.app.NotificationCompatDecoratedCustomViewStyleDecoratedMediaCustomViewStyle 中新增的装饰样式,镜像在平台 API 24 中添加的类。

已修复的问题

完整的公共错误修复列表可以在 AOSP 问题跟踪器 上找到。

版本 24.2.1

2016 年 9 月

已修复的问题

完整的公共错误修复列表可以在 AOSP 问题跟踪器 上找到。

版本 24.2.0

2016 年 8 月

版本 24.2.0 包含以下更改

注意:版本 24.2.0 移除对 Android 2.2 (API 级别 8) 及更低版本的支持。仅为了服务这些系统版本而存在的类和方法现在被标记为已弃用,不应再使用。这些已弃用的类和方法可能会在将来的版本中被移除。

v4 支持库拆分

在此版本中,v4 支持库 已被拆分为多个较小的模块

support-compat
为新的框架 API 提供兼容包装器,例如 Context.getDrawable()View.performAccessibilityAction()
support-core-utils
提供许多实用程序类,例如 AsyncTaskLoaderPermissionChecker
support-core-ui
实现各种 UI 相关组件,例如 ViewPagerNestedScrollViewExploreByTouchHelper
support-media-compat
移植了 媒体 框架的部分内容,包括 MediaBrowserMediaSession
support-fragment
移植了 片段 框架。此模块依赖于 support-compatsupport-core-utilssupport-core-uisupport-media-compat

为了向后兼容性,如果您在 Gradle 脚本中列出 support-v4,则您的 APK 将包含所有这些模块。但是,为了减小 APK 大小,我们建议您只列出您的应用需要的特定模块。

API 更新

行为变更

  • 如果您使用 appcompat 库的昼夜功能,系统现在会在昼夜模式更改时自动重新创建您的活动(无论是因为一天中的时间,还是因为调用了 AppCompatDelegate.setLocalNightMode())。
  • Snackbar 现在会在状态栏是半透明的情况下绘制在导航栏后面。

MediaRouter 库

蓝牙设备不再被列为媒体路由。现在仅在 Android 系统级别控制将音频路由到蓝牙设备。

弃用

弃用的类和方法将在将来的版本中被删除。您应该尽快迁移到这些 API。

  • 以下类中的某些方法仅适用于 API 8 及更低版本,不应再使用。相反,使用框架实现。
    • android.support.v4.view.KeyEventCompat:用 KeyEvent 替换
    • android.support.v4.view.MotionEventCompat:使用 MotionEvent
    • android.support.v4.view.ViewCompat:使用 View
    • android.support.v4.view.ViewConfigurationCompat:使用 ViewConfiguration
  • AccessibilityServiceInfoCompat.getDescription() 已被弃用,取而代之的是 AccessibilityServiceInfoCompat.loadDescription(),它返回一个正确本地化的描述。
  • 您不应该直接实例化 ActivityCompat 类。非静态 getReferrer(Activity) 方法将在即将发布的版本中变为静态。
  • CoordinatorLayout.Behavior.isDirty() 已被弃用,不再由 CoordinatorLayout 调用。任何实现以及对该方法的任何调用都应删除。
  • MediaSessionCompat.obtain() 已被弃用,并被更合适命名的 fromMediaSession() 方法替换。
  • MediaSessionCompat.QueueItem.obtain() 已被弃用,并被更合适命名的 fromQueueItem() 方法替换。
  • 一些抽象类已被弃用,并被更能反映其框架等效项的接口替换。
  • CustomTabsSession.setToolbarItem() 已被基于 RemoteViews 的 setSecondaryToolbarViews() 替换。

错误修复

以下已知问题已在 24.2.0 版本中修复

  • 确保在第一次测量传递之前调用 setRefreshing(true) 时显示 SwipeRefreshLayout 指示器(AOSP 问题 77712
  • 防止 TabLayout 在更改页面时闪烁(AOSP 问题 180454
  • 在 API 级别 11 及更低版本上取消序列化 SavedState 时避免出现 ClassNotFoundExceptionAOSP 问题 196430

可以在 AOSP 问题跟踪器 上找到完整的公共错误修复列表。

版本 24.1.1

2016 年 7 月

已修复的问题

  • 修复了 24.1.0 版本中影响支持库之间共享的资源 ID 的问题。此问题导致依赖于具有资源的支持库(如设计和 appcompat)的应用程序遇到由资源 ID 不匹配导致的问题。

版本 24.1.0

2016 年 7 月

v4 支持库 的更改

已修复的问题

版本 24.0.0

2016 年 6 月

v4 支持库 的更改
  • 添加了 Fragment.commitNow() 以用于同步提交
  • 添加了 NotificationCompat.MessagingStyle 以用于多人对话
  • 添加了 NotificationManagerCompat.areNotificationsEnabled()getImportance()
  • MediaSessionCompat 现在镜像了 MediaSession 的功能,不再自动调用 setMediaButtonReceiver()

**注意:** 只有版本 24.0.0 中的 MediaBrowserServiceCompat 与 API 24 之后的 Android 的未来版本向前兼容。如果您使用的是以前的版本,请更新到此版本以确保兼容性。

v7 appcompat 库 的更改
  • 添加了对从 XML 中引用带主题的 ColorStateList 对象的支持
设计支持库 的更改
v17 Leanback 库 的更改
  • 添加了 OnboardingFragment 以提供首次运行的欢迎和设置流程
自定义选项卡 的更改
  • 添加了对为辅助工具栏提供 RemoteViews 层次结构的支持
  • 添加了 CustomTabsClient.connectAndInitialize() 以用于单行预热

版本 23.4.0

2016 年 5 月

v4 支持库 的更改
  • 修复了片段以错误顺序添加的问题。(问题 206901
  • 修复了应用栏在滚动出屏幕后没有绘制的问题。(问题 178037
v7 appcompat 库 的更改
设计支持库 的更改
更改内容为矢量可绘制对象库

修订版 23.3.0

2016 年 4 月

v4 支持库 的更改
  • 添加了 AppLaunchChecker 以帮助跟踪用户过去如何启动您的应用程序。hasStartedFromLauncher() 可让您知道用户是否之前从主屏幕启动过您的应用程序,或者它是否仅通过其他方式启动(例如,查看特定网页 URL)。
  • 修复了 MediaBrowserServiceCompat.mConnections 中的内存泄漏。(Issue 205220)
  • 修复了 ViewPager 翻页时未考虑页面边距的问题。(Issue 203816)
  • Fragment.onRequestPermissionsResult() 现在将传递给子片段。
v7 appcompat 库 的更改
更改内容为 v7 mediarouter 库
更改内容为 v7 Preference
更改内容为 v7 recyclerview 库
设计支持库 的更改

修订版 23.2.1

2016 年 3 月

v4 支持库 的更改
v7 appcompat 库 的更改
  • 撤销了对矢量资源的依赖,以便使用 appcompat 库 的开发人员不必使用 VectorDrawable 及其关联的构建标志。
  • 修复了夜间模式与 API 级别 23 的兼容性问题。(Issue 201910)
  • 修复了 SwitchCompat 与 API 级别 7 的兼容性问题。(Issue 201942)
  • 修复了在资源对象中传播配置值的问题。 Issue 201928
  • 修复了兼容性问题,其中 android.support.v7.app.NotificationCompat.MediaStyle 取消按钮在 API 级别 21 及更低版本上变为不可见。(Issue 202156)
  • 修复了 AppCompatSpinner 在 API 级别 21 及更低版本上发生的兼容性崩溃。(Issue 202246)
  • 修复了 app:textAllCaps = "false" 样式无法正常工作的问题。(Issue 202117)
  • 修复了还原 SearchView 时的崩溃。(Issue 201836)
  • 修复了使用 AppCompat 对可绘制资源进行着色时发生的内存泄漏。(Issue 202379)
  • 修复了 API 级别 11 及更低版本上 KeyEvent 的问题。(Issue 202939)
更改内容为 v7 cardview 库
更改内容为 v7 recyclerview 库
更改内容为 v7 mediarouter 库
更改内容为 v17 Leanback 库
  • 修复了 GridLayout.onAddFocusables() 导致选择错误项目的问题。
  • 修复了在操作折叠后 GuidedStepFragment 操作消失的问题。
设计支持库 的更改
VectorDrawableCompat 的更改
  • 修复了为 android:tintMode 读取错误变量的错误。(Issue 201907)

修订版本 23.2.0

2016 年 2 月

有关 v4 支持库 的更改
  • MediaBrowser 支持添加了 MediaBrowserCompat,以及为 MediaBrowserService 支持添加了 MediaBrowserServiceCompat。这在将媒体应用程序的后台服务与 UI 组件连接以及与 Android Auto 和 Android Wear 集成时非常有用,而无需要求 API 级别 21 或更高版本。
  • 现在,系统将为嵌套的 FragmentActivity 调用 onActivityResult()
有关 v7 AppCompat 库 的更改
  • 将夜间模式功能添加到 API 级别 14 及更高版本。根据一天中的时间或特定于应用程序的设置,在 Material Light 和 Material Dark 主题 之间切换。
    • 白天和黑夜主题可在此处找到:<sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml
    • AppCompatDelegate.setDefaultNightMode():通过传递以下常量之一来设置应用程序的默认模式
      • MODE_NIGHT_AUTO
      • MODE_NIGHT_NO
      • MODE_NIGHT_YES
      • MODE_NIGHT_FOLLOW_SYSTEM
    • AppCompatDelegate.setLocalNightMode():覆盖本地应用程序组件的夜间模式设置。
    • AppCompatDelegate.getDefaultNightMode():返回默认夜间模式。
有关 v7 mediarouter 库 的更改
有关 设计支持库 的更改
  • 添加了对 底部工作表 的支持。交互插件 BottomSheetBehavior 允许 CoordinatorLayout 的子视图充当底部工作表。基类 BottomSheetCallback 提供回调来监控底部工作表事件。
有关 CustomTabs 支持库 的更改
  • Chrome 自定义选项卡 现在允许应用程序在现有顶部操作按钮之外,还包括带有操作按钮的底部栏。
  • CustomTabsIntent.Builder.addToolBarItem():将操作按钮添加到自定义选项卡。您可以使用此方法添加多个按钮。
  • CustomTabsSession.setToolBarItem():更新工具栏项目的视觉效果。此方法仅在提供有效 ID 并且浏览器会话处于前台时才能成功。
添加了 VectorDrawable 支持库
  • 添加了类
    • VectorDrawableCompat
    • AnimatedVectorDrawableCompat
  • 为在 API 级别 7 或更高版本上运行的应用程序添加了对 VectorDrawable 资源的支持。在 API 级别 11 或更高版本上也支持 AnimatedVectorDrawable 资源。矢量资源可能比图像资源小得多,并且应通过减少支持多个设备屏幕所需的资源数量来帮助减小应用程序大小。
  • 此库现在是 v7 AppCompat 库 的依赖项,使开发人员和 AppCompat 可以轻松使用矢量图形。要在 ImageButtonImageView 中使用 VectorDrawableCompat,请使用 app:srcCompat XML 属性或 setImageResource() 方法。
  • 要继续在 API 级别 20 或更低版本上引用属性 ID,请将以下 appt 标志添加到您的 build,gradle 文件中
    • 如果您使用的是 Android Plugin for Gradle 1.5.0 或更低版本,请将以下内容添加到您的 build.gradle 文件中
    • android {
        defaultConfig {
          // Stops the Gradle’s automatic rasterization of vectors
          generatedDensities = []
        }
         // Flag that tells aapt to keep the attribute ids
        aaptOptions {
          additionalParameters "--no-version-vectors"
        }
      }
      
    • 如果您使用的是 Android Plugin for Gradle 2.0.0 或更高版本,请将以下内容添加到您的 build.gradle 文件中
    • android {
        defaultConfig {
          vectorDrawables.useSupportLibrary = true
        }
      }
      
有关 v17 Leanback 库 的更改
  • GuidedStepFragment 添加了新功能,它是一个引导用户完成决策或一系列决策的组件
    • GuidedAction 添加了按钮操作
      • GuidedStepFragment.setButtonActions():设置用户可以从操作视图中选择的 GuidedAction 按钮列表。
    • 描述字段现在可编辑
      • GuidedAction.Builder.descriptionEditable():在传递 true 时,将操作的描述设置为可编辑。
      • GuidedAction.getEditDescription():以 CharSequence 的形式返回可编辑的描述。
    • 添加了子操作的下拉列表
      • GuidedAction.setSubActions():将 GuidedAction 列表设置为子操作的下拉菜单。
  • 添加了 GuidedDatePickerAction 小部件以实现 DatePicker 功能
    • 使用年、月和日列选择日期,并具有可自定义的范围。
    • GuidedDatePickerAction.BuilderGuidedDatePickerAction 对象的构建器类。
    • GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat):通过传递适当的三字符 String(例如 “YMD”“MDY”)来设置所需的日期格式。或者,使用 datePickerFormat XML 属性。
有关 v7 RecyclerView 库 的更改

修订版本 23.1.1

2015 年 11 月

有关 v7 recyclerview 库 的更改:
  • 修复了在执行 ItemTouchHelper 实用程序类提供的滑动以隐藏操作,然后添加项目时发生的崩溃问题。(Issue 190500)
有关 v7 preference 库 的更改:
有关 v17 Leanback 支持库 的更改:
  • 修复了此库中的多个内部问题。
有关 设计支持库 的更改:
  • getHeaderView 方法添加到 NavigationView 类中。
  • 修复了在运行 Android 4.0(API 级别 15)及更低版本的设备上,FloatingActionButton 对象的透明背景问题。(Issue 183315)

修订版本 23.1.0

2015 年 10 月

有关 v4 支持库 的更改:
  • NestedScrollView 小部件添加了 OnScrollChangedListener 接口支持。它允许您在滚动 X 或 Y 位置更改时接收回调。
  • 添加了一个 MediaButtonReceiver 类,用于将接收到的播放控件转发到管理 MediaSessionCompat 类的服务。MediaSessionCompat 类具有一个构造函数,可以自动在清单中找到媒体按钮接收器。媒体按钮接收器是 处理来自硬件或蓝牙控件的播放控件 的关键部分。
有关 v7 appcompat 库 的更改:
  • 添加了材质设计 SeekbarImageButton 小部件。
  • 更新了 ImageView 小部件以支持色调功能。
  • 更新了 SwitchCompat 小部件的外观。
有关 v7 mediarouter 库 的更改:
  • MediaRouteChooserDialog 类中添加了以下功能
    • 在发现媒体路由提供者时显示加载页面。
    • 包含设备类型图标,以便更轻松地识别设备。
    • 根据当前应用程序中使用的频率对路由进行排序。
    • 支持横向模式。
  • MediaRouteControllerDialog 类中添加了以下功能
    • 识别屏幕投射并提供适当的描述。
    • 支持各种专辑封面大小和纵横比,并异步加载封面。
    • 根据应用程序的主色自动选择内容颜色。
    • 根据设备上可用的屏幕空间调整对话框布局。
    • 支持横向模式。
针对 v7 调色板库 的更改:
  • 添加了 setRegion() 方法,以支持从 Bitmap 对象的特定区域提取颜色。
有关 v7 recyclerview 库 的更改:
  • ItemAnimator 类中添加了改进的动画 API,以实现更好的自定义功能
    • 更改动画不再强制使用 ViewHolder 对象的两个副本,这使得项目内容动画成为可能。此外,ItemAnimator 对象决定它是否要重用同一个 ViewHolder 对象或创建一个新的对象。
    • 新的信息记录 API 使 ItemAnimator 类能够灵活地在布局生命周期的正确点收集数据。这些信息随后将传递到动画回调中。
  • 提供了一个简单的过渡计划,用于解决此向后不兼容的 API 更改
    • 如果您之前扩展了 ItemAnimator 类,可以将基类更改为 SimpleItemAnimator,您的代码应按以前的方式工作。 SimpleItemAnimator 类通过包装新的 API 提供旧的 API。
    • ItemAnimator 类中删除了一些方法。以下代码将不再编译
    • Kotlin

      recyclerView.itemAnimator.supportsChangeAnimations = false
      

      Java

      recyclerView.getItemAnimator().setSupportsChangeAnimations(false)
      

      您可以用以下代码代替

      Kotlin

      val animator: SimpleItemAnimator? = recyclerView.itemAnimator as? SimpleItemAnimator
      animator?.supportsChangeAnimations = false
      

      Java

      ItemAnimator animator = recyclerView.getItemAnimator();
      if (animator instanceof SimpleItemAnimator) {
         ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
      }
      
针对 v7v14v17 偏好设置支持库的更改
  • 删除了用于控制 EditText 对话框的 API。
有关 v17 Leanback 支持库 的更改:
  • 为支持库添加了 GuidedStepFragment 类的版本(扩展 android.support.v4.app.Fragment),并改进了动画和过渡。
  • 更新了 GuidedStepFragment 类,以便可以将其放置在现有内容之上。
  • 添加了对 SearchFragment 类中不同类型的搜索完成进行批注的能力。
  • VerticalGridFragment 类添加了交错滑动过渡支持。
有关 设计支持库 的更改:
  • TextInputLayout 小部件添加了 字符计数 支持。
  • 通过添加 SCROLL_FLAG_SNAP 常量,为 AppBarLayout 类添加了边缘捕捉支持。当滚动结束时,如果视图仅部分可见,则视图会捕捉并滚动到其最近的边缘。
  • 通过使用 app:actionLayout 属性或 MenuItemCompat.setActionView() 方法,为 NavigationView 类添加了对自定义视图的支持。
针对 自定义标签支持库 的更改:
  • CustomTabsIntent 类添加了 enableUrlBarHiding() 方法。它允许客户端自定义 URL 栏是否应该在向下滚动时自动隐藏。
  • CustomTabsSession 类添加了 setActionButton() 方法。它允许客户端更改已启动的自定义标签中自定义操作按钮的图标。
  • TAB_SHOWNTAB_HIDDEN 常量添加为 CustomTabsCallback 类的 onNavigationEvent 方法的新事件。

修订版 23.0.1

2015 年 9 月

针对 v7v14 偏好设置支持库的更改
有关 v7 appcompat 库 的更改:
  • 通过将硬件层的应用限制为 Android 4.1(API 级别 16)及更高版本,修复了 Fragment 类的崩溃问题。(问题 183896)
  • 修复了一个问题,即当活动将 Toolbar 类设置为充当 ActionBar 时,硬件按钮无法正常工作,方法是使用 setSupportActionBar() 方法。(问题 183334)
  • 更新了 AppCompatDialogFragment 类,使其不再抛出 Windows feature must be requested before adding content 错误。(问题 183186)
有关 设计支持库 的更改:
针对 自定义标签支持库 的更改:

修订版 23

2015 年 8 月

添加了新的支持库

有关支持库更改的完整列表,请参阅 支持库 API 差异报告

修订版 22.2.1

2015 年 7 月

有关 设计支持库 的更改:
  • FloatingActionButton 类添加了 hide()show() 方法,用于以编程方式触发动画。
  • Snackbar 类添加了 LENGTH_INDEFINITE 常量,用于显示一个 SnackBar,直到其被解除或显示另一个 SnackBar。此外,还添加了 setActionTextColor(int)setActionTextColor(ColorStateList) 方法。
  • TabLayout 类添加了 getSelectedTabPosition() 方法,用于检索当前选中的标签。
  • android.support.v7.app.NotificationCompat.MediaStyle 类提供了完全流畅的 API,用于方法链接。
  • RecyclerView 添加了便利方法,用于批量插入项目。

有关支持库更改的完整列表,请参阅 支持库 API 差异报告

修订版 22.2.0

2015 年 5 月

添加了 设计支持库
  • 添加了 TextInputLayout,用于将 EditText 提示和错误文本显示为浮动标签。
  • 添加了 FloatingActionButton,用于将界面上的主要操作实现为浮动操作按钮,支持默认大小或迷你大小。
  • 添加了 Snackbar,用于在动画 SnackBar 中提供轻量级反馈,并可以选择执行操作。
  • 添加了 TabLayout,用于实现固定和可滚动的 标签,以及与 ViewPager 的轻松集成。
  • 添加了 NavigationView,用于实现 导航抽屉 内容,包括通过 菜单资源 填充菜单项的功能。
  • 添加了 CoordinatorLayout,一个通用布局,用于构建同级视图之间的依赖关系,并允许通过 CoordinatorLayout.Behavior 在组件之间轻松进行滚动反应。设计库中的许多组件都依赖于作为 CoordinatorLayout 的子项。
  • 添加了 AppBarLayout,一个用于 Toolbar 和其他视图(如 TabLayout)的容器,用于通过滚动出屏幕、在向下滚动时变得可见或在滚动出/进入屏幕之前折叠/展开来响应滚动事件。
  • 添加了 CollapsingToolbarLayout,用于控制 Toolbar 的折叠方式。工具栏可以通过以下方式折叠:在工具栏折叠时将组件固定到屏幕顶部,引入 ImageView 等组件的视差滚动,或在视图部分折叠时添加内容遮罩颜色。
针对 v4 支持库 的更改:
有关 v7 appcompat 库 的更改

有关支持库更改的完整列表,请参阅 支持库 API 差异报告

修订版 22.1.0

2015 年 4 月

有关 注释库 的更改:
  • 添加了注释库,以提供对增强代码检查的支持。注释作为元数据标签添加,您可以将其附加到变量、参数和返回值,以检查方法返回值、传递的参数以及局部变量和字段。
针对 v4 支持库 的更改:
有关 v7 appcompat 库 的更改
有关 v17 leanback 库 的更改
有关 v7 recyclerview 库 的更改
针对 v8 渲染脚本库 的更改

修订版 22

2015 年 3 月

针对 v4 支持库 的更改:
有关 v7 appcompat 库 的更改
有关 v17 leanback 库 的更改
有关 v7 mediarouter 库 的更改
有关 v7 recyclerview 库 的更改

修订版 21.0.3

2014 年 12 月

针对 v4 支持库 的更改:

修订版 21.0.2

2014 年 11 月

针对 v4 支持库 的更改:
有关 v7 appcompat 库 的更改
  • 添加了 PopupMenu 构造函数以支持新的弹出菜单。
  • Toolbar 类中添加了对折叠图标描述的支持。
  • 更新了 SearchView 小部件以支持显示 commitIcon
  • Toolbar 类中删除了 buttonGravity 属性。
针对 v7 cardview 库 的更改
有关 v7 recyclerview 库 的更改
有关 v17 leanback 库 的更改
  • 添加了对生成 v4 代码片段的支持。
  • 更改了 CardView 上的辅助文本颜色。

修订版 21.0.1

2014 年 11 月

添加了 multidex 支持库 以支持多个 Dalvik 可执行 (DEX) 文件,以便在 Android 5.0 之前支持多 dex 文件。

修订版 21

2014 年 10 月

针对 v4 支持库 的更改:
  • 添加了对运行 Android 5.0(API 级别 21)的设备的 Fragment 过渡的支持。请注意,过渡对运行 Android 4.4 及更低版本的设备没有影响。
  • 添加了 DocumentFile 以简化从 File 切换到处理文档树时的过渡。但是,与在 Android 4.4(API 级别 19)中添加的平台的 DocumentsContract API 相比,此类需要更多处理开销。因此,您应在运行 Android 4.4 及更高版本时切换到使用 DocumentsContract
有关 v7 appcompat 库 的更改
  • 添加了对 材料设计 用户界面的支持。
  • 添加了 Toolbar,它将 ActionBar 的功能推广到应用布局中使用。
  • 更新了 ActionBarDrawerToggle,其中包含菜单到箭头动画。
  • 更新了常见用户界面小部件以允许在运行于 Android 5.0 之前的设备上通过主题属性进行着色。
  • 添加了 SwitchCompat,这是在 Android 4.0(API 级别 14)中添加的 Switch 小部件的移植版本。
新的 v7 cardview 库
  • 添加了 CardView 小部件,它提供了用于显示数据项的与材料设计兼容的实现。
新的 v7 recyclerview 库
  • 添加了 RecyclerView 小部件,它提供了一个灵活的列表视图,用于提供对大型数据集的有限窗口。
新的 v7 palette 库
  • 添加了 Palette 类,该类允许您从图像中提取突出颜色。
新的 v17 leanback 库

修订版 20

2014 年 7 月

针对 v4 支持库的更改

修订版 19.1.0

2014 年 3 月

针对 v4 支持库的更改
  • 添加了 SwipeRefreshLayout 类,该类使用户能够使用垂直滑动手势刷新视图的内容。
  • 修复了导航抽屉的辅助功能问题。
针对 v7 appcompat 库的更改
  • 修复了操作栏的背景问题。

修订版 19.0.1

2013 年 12 月

针对 v4 支持库的更改
针对 v7 mediarouter 库的更改
针对 v8 渲染脚本库 的更改
  • 为 RenderScript 虚拟化层添加了错误传播。

修订版 19

2013 年 10 月

针对 v4 支持库的更改
针对 v7 mediarouter 库的更改
  • 添加了对媒体播放排队、设置 HTTP 标头值和媒体播放时长支持。
  • 添加了显式启动、获取和结束会话操作,以便使用媒体路由显式管理媒体播放会话。

修订版 18

2013 年 7 月

针对 v4 支持库的更改
新的 v7 appcompat 库
  • 添加了 ActionBar,允许从 Android 2.1(API 级别 7)及更高版本开始实现操作栏用户界面 设计模式。要使用此类,需要通过扩展新的 ActionBarActivity 类来实现您的活动。
新的 v7 mediarouter 库

添加了一个新的 mediarouter 库,该库为 Google Cast 开发者预览 提供支持。v7 mediarouter 库 API 提供了一种方法来控制从当前设备到外部屏幕、扬声器和其他目标设备的媒体通道和流的路由,并向后兼容 Android 2.1(API 级别 7)。有关更多信息,请参阅 V7 mediarouter 库

Support Library r18 中引入的 v7 mediarouter 库 API 在 Support Library 的后续修订版中可能会发生更改。目前,建议仅将该库与 Google Cast 开发者预览 结合使用。

修订版 13

2013 年 5 月

针对 v4 支持库的更改
新的 v7 gridlayout 库
  • 添加了 GridLayout,以提供对 GridLayout 布局对象的支持。
  • 添加了 android.support.v7.widget.Space,它可用于在 GridLayout 布局对象中创建空白区域。

修订版 12

2013 年 2 月

针对 v4 支持库的更改
  • 改进了 ViewPager 的交互行为。
  • 修复了可能导致 ViewPager 选择错误页面的错误。
  • 修复了在 ViewPager 的布局期间使用 removeView() 方法的问题。
  • 修复了 SearchViewCompat 的问题,使用后退按钮关闭不会清除搜索文本。此修复仅适用于主机 API 级别 14 及更高版本。

修订版 11

2012 年 11 月

针对 v4 支持库的更改

修订版 10

2012 年 8 月

针对 v4 支持库的更改
  • 添加了对 Android 4.1(API 级别 16)中引入的通知功能的支持,并在 NotificationCompat 中进行了补充。

修订版 9

2012 年 6 月

针对 v4 支持库的更改

修订版 8

2012 年 4 月

针对 v4 支持库的更改
  • 修复了 PendingIntent 对象的意图标志,这些对象是由 TaskStackBuilder 生成的。
  • 从 gridlayout 库项目中删除了未使用的属性,以确保库可以使用 API 级别 7 及更高版本构建。
  • 为 gridlayout 库项目添加了 .classpath.project 文件。

修订版 7

2012 年 3 月

针对 v4 支持库的更改
  • 添加了 ShareCompat,它提供了用于发送和接收社交共享应用程序内容的辅助类,包括用于将共享数据归因于源应用程序的新元数据。此类还提供了与 Android 4.0 中的新 ShareActionProvider 的兼容集成。
  • 添加了 NavUtilsTaskStackBuilder 以支持实现导航的 Android 设计 指南。这些补充包括一种跨版本实现操作栏的“向上”按钮的方法。有关此模式的示例实现,请参阅 (<em><sdk></em>/samples/<em><platform></em>/AppNavigation) 中的 AppNavigation 示例。
  • 添加了 NotificationCompat.Builder 以提供 Android 3.0 的 Notification.Builder 辅助类的兼容实现,用于创建标准化的系统通知。

修订版 6

2011 年 12 月

注意:支持库 API 的参考现在可与框架参考一起使用,例如:android.support.v4.app

针对 v4 支持库的更改
  • ViewPager 的更改
    • ViewPager 添加了额外的装饰视图支持。装饰视图可以作为分页器子视图提供,以 XML 布局形式提供。
    • 添加了 PagerAdapter.getPageTitle() 以提供页面的标题字符串,默认情况下每个页面的标题为空。
    • 添加了 PagerTitleStrip,这是一个非交互式标题栏,可以作为 ViewPager 的子视图添加。开发人员可以提供文本外观和颜色,以及布局大小和重力信息。
    • 更新了 PagerAdapter 方法,以使用 ViewGroup 对象而不是 View,以避免在适配器实现中进行类转换。
    • 更新了 ViewPager 以使用 Launcher 风格的抛掷行为。
    • 修复了用户界面交互和测试自动化的错误。
  • 对片段的支持
  • 对辅助功能 API 的支持

修订版 5

2011 年 12 月

针对 v4 支持库的更改

修订版 4

2011 年 10 月

针对 v4 支持库的更改
  • 添加了 EdgeEffectCompat 以支持 EdgeEffect
  • 添加了 LocalBroadcastManager 以便应用程序可以轻松地在单个应用程序中注册并接收意图,而无需将其全局广播。
  • ViewCompat 中添加了支持,以检查和设置 Android 2.3 及更高版本上的 View 的滚动模式。
  • 对片段 API 的更改
    • 添加了新的 API 来控制新菜单的可见性。
    • 添加了自定义动画 API。
    • FragmentActivity 中添加了 API,用于保留自定义的非配置实例数据。
    • 各种错误修复。
  • 修复了 Loader 错误,该错误导致在 Froyo 和平台的较旧版本上取消 AsyncTask 时出现问题。支持代码现在使用自己的 AsyncTask 版本以保持所有平台版本上的相同行为。

修订版 3

2011 年 7 月

针对 v4 支持库的更改
  • 添加了对 Fragment.SavedState 的支持
  • 添加了 MotionEventCompat 以支持更新的 MotionEvent API
  • 添加了 VelocityTrackerCompat 以支持更新的 VelocityTracker API
  • 添加了 ViewConfigurationCompat 以支持更新的 ViewConfiguration API
  • 所有新的 API(仅在支持库中可用),允许您创建具有水平分页的 UI,允许用户在内容视图之间左右滑动。支持此功能的类包括
    • ViewPager: 一个 ViewGroup,它管理子视图的布局,用户可以在这些子视图之间滑动。
    • PagerAdapter: 一个适配器,使用表示每个页面的视图填充 ViewPager
    • FragmentPagerAdapter: PagerAdapter 的扩展,用于在片段之间翻转。
    • FragmentStatePagerAdapter: PagerAdapter 的扩展,用于在片段之间翻转,使用库对 Fragment.SavedState 的支持。
新的 v13 支持库
  • 包括 FragmentPagerAdapterFragmentStatePagerAdapter 以支持水平分页。

    这些 API 与添加到 v4 支持库中的 API 完全相同,但依赖于 Android 3.2 中的其他平台组件。如果您面向 Android 3.2 及更高版本开发(v4 库中的所有其他 API 已在 API 级别 13 中可用),请使用此库而不是 v4 库。

修订版 2

2011 年 5 月

v4 库的更改

修订版 1

2011 年 3 月

与 v4 库一起发布的初始版本。