Google 致力于为黑人社区推动种族平等。查看具体举措

支持库修订版本归档

本页详细介绍了之前的支持库软件包版本。如需了解最新的支持库版本,请参阅支持库的最新修订版本

修订版 26.0.0 测试版 2

(2017 年 6 月)

请注意,26.0.0-beta2 是一个预发布版本。它的 API Surface 可能会发生更改,而且不一定包含最新稳定版支持库中的功能或问题修复。

重要提示:支持库现在可以通过 Google 的 Maven 代码库获取。您无需从 SDK 管理器下载支持代码库。如需了解详情,请参阅支持库设置

新增的 API

API 差异

问题修复

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

修订版 26.0.0 测试版 1

(2017 年 5 月)

请注意,26.0.0-beta1 是一个预发布版本。它的 API Surface 可能会发生更改,而且不一定包含最新稳定版支持库中的功能或问题修复。

重要提示:支持库现在可以通过 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 源语言时,如果返回类型不受约束(例如 assertNotNull(findViewById(...)).someViewMethod())),则需要显式投射到 View
    • 非最终 findViewById() 方法(例如 Activity.findViewById())的替换方法需要更新其返回类型。

新增的 API

  • FragmentManagerFragment 具有 isStateSaved() 方法,可用于查询是否允许执行某项事务而不丢失状态。这对于在执行任何事务之前检查何时处理 onClick() 事件特别有用。
  • AnimatedVectorDrawableCompat 支持路径动作。通过路径动作,一个对象 Animator 可以基于一个路径同时更改两个属性;该路径在 Animator 的 XML 中指定为 android:pathData
  • 基于物理特性的动画
    • 新增了 FlingAnimation,支持为动画效果使用某个初始速度然后缓慢降低速度。
    • DynamicAnimation 的子类支持为任何对象的自定义属性添加动画效果。
    • SpringAnimationFlingAnimation 现在都可以对浮点值添加动画效果,而无需将 ViewObject 与其相关联。

    如需了解详情,请参阅弹簧动画投掷动画预览页面。

  • XML 中的字体支持
    • 使用 ResourcesCompat.getFont 加载可以与 TextView.setTypeface() 配合使用的字体资源(包括字体系列 XML)。
    • 在使用 AppCompat 时,TextView 支持通过 android:fontFamily XML 属性指定字体资源或字体系列 XML。
    • 使用 XML 字体系列可创建包含各种样式和粗细的字体系列(如果您使用支持库类执行此操作,请使用 app: 属性和 android: 属性)。
  • 可下载字体
    • 新增了 FontsContractCompat,您可以通过它向字体提供程序请求字体,而不是将它们捆绑在应用中。
    • 字体也可以在 XML 中请求,以及在布局中使用。
  • 表情符号兼容性库
    • EmojiCompat 可处理给定 CharSequence 并添加 EmojiSpans
    • EmojiTextView 和其他微件可显示表情符号。
    • FontRequestEmojiCompatConfig 可向字体提供程序请求表情符号字体。
  • 自动调整 TextView 的大小
    • TextViewCompat 中新增的方法以及 XML 属性可控制 TextView 中的自动调整大小功能。
  • 支持跳转的 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 Surface 可能会发生更改,而且不一定包含最新稳定版支持库中的功能或问题修复。

重要变更

注意:最低 SDK 版本已提升至 14。因此,我们弃用了仅用于实现与 API 14 之前级别兼容性的很多 API。这些 API 的客户端应该迁移到其等效框架,正如每个弃用 API 对应的参考页面中所述。

  • support-percent 模块已弃用。此模块的客户端应该迁移到新的 ConstraintLayout 微件,此微件作为 SDK 管理器中的单独工件提供。
  • support-fragment 模块不再依赖于 support-media-compat 模块。

新增的 API

新增了很多类、方法和常量,为 Android 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 管理器下载支持代码库。如需了解详情,请参阅支持库设置

重要变更

  • FragmentManager 状态变更期间,不允许执行 executePendingTransactions()commitNow()popBackStackImmediate() 及类似事务调用。事务的可重入执行不安全,而且 FragmentManager 现在在其状态变更期间会强制执行此操作。
  • 在发布此支持库版本时,我们还一并发布了多 dex 版本 1.0.2。此版本包含以下重要变更:
    • 允许对插桩测试 APK 进行多 dex 处理。
    • 弃用 MultiDexTestRunner(应改用 AndroidJUnitRunner)。
    • 提供更好的保护,以防存在无效的应用归档提取管理。
    • 修复可能会导致临时文件被放弃的错误。
    • 在并发过程中完成时更快地安装。
    • 修复 API 19 和 20 上的安装错误。

新增的和修改后的 API

AnimatedVectorDrawableCompat 支持路径变形和路径插值。通过路径变形,形状可以从一个路径(指定为 android:valueFrom)更改为另一个路径(指定为 android:valueTo),以便提供复杂且具有吸引力的视觉效果。通过路径插值,可以将 AnimatedVectorDrawableCompat 的插值器指定为路径(在插值器的 XML 中指定为 android:pathData)。

API 差异

修复的问题

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

修订版 25.3.1

(2017 年 3 月)

修复的问题

修订版 25.3.0

(2017 年 3 月)

重要变更

从 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 参考。
添加了用于在 TV 界面上选择时间的 TimePicker 微件。
mediacompat
添加了搜索功能。如需了解详情,请参阅 MediaBrowserCompat.search()MediaBrowserServiceCompat.onSearch() 参考。
添加了对随机播放和重复播放模式的支持。如需了解详情,请参阅 MediaSessionCompat.setRepeatMode()setShuffleModeEnabled() 参考。

修复的问题

修订版 25.2.0

(2017 年 2 月)

重要变更

修复的问题

修复的问题

  • 采用屏幕镜像演示幻灯片演示文稿导致设备断开 WLAN 连接
  • 媒体按钮无法正确处理未使用 setMediaButtonReceiver() 进行注册的媒体应用
  • 字符串资源出现 VectorDrawable 错误(AOSP 问题 232407
  • 如果文字由 XML 设置,则 TextInputLayout 会覆盖提示和文字(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,此版本修复了这个问题。

重要变更

  • Fragment 事务现在可以在事务内部和事务之间进行优化。优化 Fragment 事务操作可以消除取消的操作。例如,假设同时执行两个事务,一个添加 Fragment A,另一个使用 Fragment B 替换 Fragment A。在本例中,第一个操作可能被取消,只添加了 Fragment B。这意味着 Fragment A 可能不会经历创建/销毁生命周期。

    此优化的副作用是 Fragment 的状态更改可能不按预期顺序进行。例如,假设一个事务添加 Fragment A,第二个添加 Fragment B,第三个移除 Fragment A。如果不进行优化,则 Fragment B 可能以为在被创建时 Fragment A 也存在,因为在添加 Fragment B 之后会移除 Fragment A。如果进行优化,Fragment B 无法确定在被创建时 Fragment A 是否存在,因为 Fragment A 的创建和销毁可能会因优化而被移除。

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

  • Fragment 现在可以使用 Fragment.postponeEnterTransition()Fragment.startPostponedEnterTransition() 推迟其过渡和动画,直到准备就绪。此 API 类似于与 Activity 过渡配合使用的 Activity.postponeEnterTransition()Activity.startPostponedEnterTransition()

修复的问题

修订版 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 不支持 Android L 之前设备上的 state_enabled
  • RecyclerView 添加了焦点恢复机制。这还修复了在使用 DPAD 导航(例如在 Android TV 设备上使用)时偏好设置 Fragment 无法聚焦的支持。
  • Leanback:BrowseFragment 在头文件处于停用状态及适配器为空的情况下发生崩溃。
  • Appcompat:AlertDialog 太宽。
  • InputContentInfoCompat 在应该调用 releasePermission() 时调用 requestPermission()
  • MediaBrowserCompat 发生崩溃。
  • 在可见性设置为 GONE 时,CoordinatorLayout 会测量/布置视图。
  • 在级别低于 24 的 API 上,无法对 AnimatedVectorDrawableCompat 进行色调调节
  • Leanback 库触发假 Lint 错误
  • Palette 库导致在每个 API 级别上测试失败
  • RecyclerView 在 Leanback 上未通过测试
  • 在回收视图持有者时,RecyclerView 发生崩溃(AOSP 问题 225762
  • 未针对返回堆栈中的 Fragment 调用 Fragment.onDestroy()
  • 收起时不绘制 CollapsingToolbarLayout 纱罩
  • CoordinatorLayout.offsetChildByInset() 会抛出 IllegalArgumentException
  • RecyclerView 项添加动画效果会分离内部 RecyclerView,以防未来进行预先抓取
  • 附加的 RecyclerView 项无法进行嵌套预先抓取
  • 嵌套 RecyclerView 项的预先抓取数据在第一次布局时被丢弃
  • 如果两个拖动事件到达同一位置,RecyclerView 预先抓取会失败
  • RecyclerView 应该在 RenderThread 进行渲染时推测性布局
  • 转换为可绘制对象的针对夜间配置的颜色资源并非总能正确地从资源缓存中清除
  • FloatingActionButton:以编程方式设置 BackgroundTintList 无法正常进行(AOSP 问题 227428
  • TextInputLayout:没有为 ErrorView 设置字体(AOSP 问题 227803
  • 在 API 级别低于 23 的情况下,TextInputLayout 总是回退到浅色错误颜色(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
实现各种与界面相关的组件,例如 ViewPagerNestedScrollViewExploreByTouchHelper
support-media-compat
向后移植媒体框架的部分,包括 MediaBrowserMediaSession
support-fragment
向后移植 Fragment 框架。此模块拥有对 support-compatsupport-core-utilssupport-core-uisupport-media-compat 的依赖项。

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

API 更新

行为变更

  • 如果您使用 appcompat 库的日间/夜间功能,那么每次日间/夜间模式更改时(无论是由于当天时段还是调用 AppCompatDelegate.setLocalNightMode()),系统都会自动重新创建 Activity。
  • 如果状态栏是半透明的,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 的问题。此问题导致依赖于采用资源的支持库(例如 design 和 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 库的变更:
针对 Design 支持库的变更:
针对 v17 Leanback 库的变更:
  • 添加了 OnboardingFragment,以提供首次运行欢迎和设置流程
针对自定义标签页的变更:
  • 添加了支持,为次级工具栏提供 RemoteViews 层次结构
  • 为单行预热添加了 CustomTabsClient.connectAndInitialize()

修订版 23.4.0

2016 年 5 月

针对 v4 支持库的变更:
  • 修复了以错误顺序添加 Fragment 的问题。(问题 206901
  • 修复了在屏幕外滚动后未绘制应用栏的问题。(问题 178037
针对 v7 appcompat 库的变更:
针对 Design 支持库的变更:
针对 Vector Drawable 库的变更:

修订版 23.3.0

2016 年 4 月

针对 v4 支持库的变更:
  • 添加了 AppLaunchChecker,有助于跟踪用户过去如何启动您的应用。 hasStartedFromLauncher() 会告知您用户之前是从主屏幕启动了您的应用,还是仅通过其他方式启动(例如,查看特定网址)。
  • 修复了 MediaBrowserServiceCompat.mConnections 中的内存泄露问题。(问题 205220
  • 修复了在翻转页面时 ViewPager 不考虑页面外边距的问题。(问题 203816
  • Fragment.onRequestPermissionsResult() 现已传递给子级 Fragment。
针对 v7 appcompat 库的变更:
针对 v7 mediarouter 库的变更:
针对 v7 Preference 库的变更:
针对 v7 recyclerview 库的变更:
针对 Design 支持库的变更:

修订版 23.2.1

2016 年 3 月

针对 v4 支持库的变更:
针对 v7 appcompat 库的变更:
  • 恢复了矢量资源的依赖项,这样使用 appcompat 库的开发者就不会被迫使用 VectorDrawable 及其相关的构建标记。
  • 修复了夜间模式和 API 级别 23 的兼容性问题。(问题 201910
  • 修复了 SwitchCompat 和 API 级别 7 的兼容性问题。(问题 201942
  • 修复了在资源对象中传播配置值的问题。问题 201928
  • 修复了 android.support.v7.app.NotificationCompat.MediaStyle 取消按钮在 API 级别 21 及更低级别上不显示的兼容性问题。(问题 202156
  • 修复了 API 级别 21 及更低级别上与 AppCompatSpinner 相关的兼容性崩溃问题。(问题 202246
  • 修复了 app:textAllCaps = "false" 样式不起作用的问题。(问题 202117
  • 修复了在恢复 SearchView 时发生崩溃的问题。(问题 201836
  • 修复了使用 AppCompat 对可绘制资源进行色调调节时出现的内存泄露问题。(问题 202379
  • 修复了 API 级别 11 及更低级别上的 KeyEvent 的问题。(问题 202939
针对 v7 cardview 库的变更:
针对 v7 recyclerview 库的变更:
针对 v7 mediarouter 库的变更:
针对 v17 Leanback 库的变更:
  • 修复了导致选择错误项的 GridLayout.onAddFocusables() 的问题。
  • 修复了操作收起后 GuidedStepFragment 操作消失的问题。
针对 Design 支持库的变更:
针对 VectorDrawableCompat 的变更:
  • 修复了为 android:tintMode 读取错误变量的错误。(问题 201907

修订版 23.2.0

2016 年 2 月

针对 v4 支持库的变更:
  • MediaBrowser 支持添加了 MediaBrowserCompat,为 MediaBrowserService 支持添加了 MediaBrowserServiceCompat。在将媒体应用的后台服务与界面组件连接,以及与 Android Auto 和 Android Wear 集成而无需 API 级别 21 或更高级别时,此变更很有用。
  • 系统现在为嵌套 FragmentActivity 调用 onActivityResult()
针对 v7 AppCompat 库的变更:
  • 向 API 级别 14 及更高级别添加了夜间模式功能。根据一天当中的时段或特定于应用的设置在 Material 浅色主题和 Materia 深色主题之间切换。
    • 您可以在以下位置找到日间和夜间主题:<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 库的变更:
针对 Design 支持库的变更:
  • 添加了对底部工作表的支持。互动插件 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 列表设置为子级操作的下拉菜单。
  • 添加了用于 DatePickerGuidedDatePickerAction 微件:
    • 日期是使用年、月和日列选择的,而且具有可自定义范围。
    • GuidedDatePickerAction.Builder:适用于 GuidedDatePickerAction 对象的 Builder 类。
    • GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat):通过传递适当的三个字符 String(例如 “YMD”“MDY”)来设置所需的日期格式。或者,使用 datePickerFormat XML 属性。
针对 v7 RecyclerView 库的变更:

修订版 23.1.1

2015 年 11 月

针对 v7 recyclerview 库的变更:
  • 修复了执行 ItemTouchHelper 实用程序类提供的滑动即可关闭操作然后添加项时发生崩溃的问题。(问题 190500
针对 v7 preference 库的变更:
针对 v17 Leanback 支持库的变更:
  • 修复了此库中的很多内部问题。
针对 Design 支持库的变更:
  • NavigationView 类添加了 getHeaderView 方法。
  • 修复了搭载 Android 4.0(API 级别 15)或更低版本的设备上 FloatingActionButton 对象的透明背景问题。(问题 183315

修订版 23.1.0

2015 年 10 月

针对 v4 支持库的变更:
  • NestedScrollView 微件添加了 OnScrollChangedListener 界面支持通过此界面,您可以在滚动条的 X 或 Y 位置改变时接收回调。
  • 添加了 MediaButtonReceiver 类,用于将接收的播放控件转发给管理 MediaSessionCompat 类的服务。MediaSessionCompat 类具有一个构造函数,可以在清单中自动查找媒体按钮接收器。媒体按钮接收器是一个关键部分,用于处理来自硬件或蓝牙控件的播放控件
针对 v7 appcompat 库的变更:
  • 添加了 Material Design SeekbarImageButton 微件。
  • 更新了 ImageView 微件以支持色调调节功能。
  • 更新了 SwitchCompat 微件的外观和风格。
针对 v7 mediarouter 库的变更:
  • MediaRouteChooserDialog 类添加了以下功能:
    • 在发现媒体路由提供程序时显示加载页面。
    • 包含设备类型图标,便于识别设备。
    • 根据当前应用中的使用频率对路由进行排序。
    • 支持横屏模式。
  • MediaRouteControllerDialog 类添加了以下功能:
    • 识别屏幕投射并提供正确的说明。
    • 支持各种专辑封面大小和宽高比,以及异步加载封面。
    • 根据应用的基本色自动选择内容颜色。
    • 根据设备上的可用屏幕空间调整对话框布局。
    • 支持横屏模式。
针对 v7 palette 库的变更:
  • 添加了 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 Preference 支持库的变更:
  • 移除了用于控制 EditText 对话框的 API。
针对 v17 Leanback 支持库的变更:
  • 为支持库添加了 GuidedStepFragment 类的一个版本(可以扩展 android.support.v4.app.Fragment),并改进了动画和过渡。
  • 更新了 GuidedStepFragment 类,因此可以将其置于现有内容的顶部。
  • SearchFragment 类添加了注释不同类型的搜索完成的功能。
  • VerticalGridFragment 类添加了交错的幻灯片过渡支持。
针对 Design 支持库的变更:
  • TextInputLayout 微件添加了字符计数支持。
  • 通过添加 SCROLL_FLAG_SNAP 常量向 AppBarLayout 类添加了边缘贴靠支持。滚动结束时,如果视图仅部分可见,则视图将被贴靠并滚动到其最近的边缘。
  • 通过使用 app:actionLayout 属性或 MenuItemCompat.setActionView() 方法向 NavigationView 类添加了对自定义视图的支持。
针对 Custom Tabs 支持库的变更:
  • CustomTabsIntent 类添加了 enableUrlBarHiding() 方法。通过此方法,客户端可以自定义在向下滚动时网址栏是否应该自动隐藏。
  • CustomTabsSession 类添加了 setActionButton() 方法。通过此方法,客户端可以在已经启动的自定义标签页中更改自定义操作按钮的图标。
  • 添加了 TAB_SHOWNTAB_HIDDEN 常量,作为 CustomTabsCallback 类的 onNavigationEvent 方法的新事件。

修订版 23.0.1

2015 年 9 月

针对 v7v14 Preference 支持库的变更:
  • 添加了 Material Design 布局和样式文件。(问题 183376
针对 v7 appcompat 库的变更:
  • 通过设置限制,只允许 Android 4.1(API 级别 16)及更高级别使用硬件层,修复了 Fragment 类的崩溃问题。(问题 183896
  • 修复了在 Activity 使用 setSupportActionBar() 方法将 Toolbar 类设为充当 ActionBar 时硬件按钮不起作用的问题。(问题 183334
  • 更新了 AppCompatDialogFragment 类,使其不再抛出 Windows feature must be requested before adding content 错误。(问题 183186
针对 Design 支持库的变更:
针对 Custom Tabs 支持库的变更:

修订版 23

2015 年 8 月

添加了新的支持库:

如需查看支持库变更的完整列表,请参阅支持库 API 差异报告

修订版 22.2.1

2015 年 7 月

针对 Design 支持库的变更:
  • FloatingActionButton 类添加了 hide()show() 方法,从而以编程方式触发动画。
  • Snackbar 类添加了 LENGTH_INDEFINITE 常量,用于显示信息提示控件,直到它消失或显示另一个信息提示控件。此外,添加了 setActionTextColor(int)setActionTextColor(ColorStateList) 方法。
  • TabLayout 类添加了 getSelectedTabPosition() 方法,用于检索当前选中的标签页。
  • android.support.v7.app.NotificationCompat.MediaStyle 类添加了完全流畅的 API,用于实现方法链接。
  • RecyclerView 添加了便捷方法,用于批量插入项。

如需查看支持库变更的完整列表,请参阅支持库 API 差异报告

修订版 22.2.0

2015 年 5 月

添加了 Design 支持库
  • 添加了 TextInputLayout,用于将 EditText 提示和错误文本显示为悬浮标签。
  • 添加了 FloatingActionButton,用于将界面上的主要操作实现为悬浮操作按钮,支持默认或最小尺寸。
  • 添加了 Snackbar,用于通过添加了动画效果之后的信息提示控件中的可选操作提供精简反馈。
  • 添加了 TabLayout,用于实现固定和可滚动的标签页以及与 ViewPager 轻松集成。
  • 添加了 NavigationView,用于实现抽屉式导航栏内容,包括通过菜单资源膨胀菜单项的功能。
  • 添加了 CoordinatorLayout,这是一种通用布局,用于在同级视图之间构建依赖项,并允许通过 CoordinatorLayout.Behavior 轻松滚动组件之间的反应。Design 库的很多组件都依赖于成为 CoordinatorLayout 的子级。
  • 添加了 AppBarLayout,这是 Toolbar 和其他视图(例如 TabLayout)的容器,用于通过以下操作响应滚动事件:滚动离开屏幕、为响应向下滚动而显示或者在滚动离开/进入屏幕之前收起/展开。
  • 添加了 CollapsingToolbarLayout,用于控制 Toolbar 如何收起。工具栏可以通过以下方式收起:在收起时将组件固定到屏幕顶部、引入组件(例如 ImageView)的视差滚动或在视图部分收起时添加内容纱罩颜色。
针对 v4 支持库的变更:
针对 v7 appcompat 库的变更:

如需查看支持库变更的完整列表,请参阅支持库 API 差异报告

修订版 22.1.0

2015 年 4 月

针对 Annotations 库的变更:
  • 添加了 Annotations 库,可支持增强型代码检查。 注释将作为附加到变量、参数和返回值的元数据标记进行添加,用于检查方法返回值、传递的参数、以及局部变量和字段。
针对 v4 支持库的变更:
针对 v7 appcompat 库的变更:
针对 v17 leanback 库的变更:
针对 v7 recyclerview 库的变更:
针对 v8 renderscript 库的变更:

修订版 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 代码 Fragment 的支持。
  • 更改了 CardView 上的辅助文本颜色。

修订版 21.0.1

2014 年 11 月

添加了 multidex 支持库,可支持适用于 Android 5.0 之前版本的多 dex 文件支持的多个 Dalvik 可执行文件 (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 库的变更:
  • 添加了对 Material Design 界面的支持。
  • 添加了 Toolbar,它会汇总 ActionBar 的功能,以便在应用布局内使用。
  • 更新了 ActionBarDrawerToggle,它包含菜单到箭头的动画。
  • 更新了常用界面微件,允许在 Android 5.0 之前的设备上运行时通过主题背景属性进行色调调节。
  • 添加了 SwitchCompat,它是 Android 4.0(API 级别 14)中添加的 Switch 微件的向后移植。
新增的 v7 cardview 库
  • 添加了 CardView 微件,它提供与 Material Design 兼容的实现,用于显示数据项。
新增的 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 库的变更
  • 为 RenderScript 形式转换层添加了错误传播。

修订版 19

2013 年 10 月

针对 v4 支持库的变更:
针对 v7 mediarouter 库的变更:
  • 添加了对媒体播放队列、设置 HTTP 标头值和媒体播放持续时间的支持。
  • 添加了显式开始、获取和结束会话操作,用于使用媒体路由器明确管理媒体播放会话。

修订版 18

2013 年 7 月

针对 v4 支持库的变更:
新增的 v7 appcompat 库:
  • 添加了 ActionBar,可将操作栏界面设计模式实现回 Android 2.1(API 级别 7)及更高版本。要使用此类,您必须通过扩展新的 ActionBarActivity 类来实现 Activity。
新增的 v7 mediarouter 库:

添加了一个新的 mediarouter 库,可为 Google Cast 开发者预览版提供支持。 v7 mediarouter 库 API 提供一种方法来控制从当前设备到外部屏幕、扬声器和其他目标设备的媒体渠道和数据流的路由,同时可向后兼容至 Android 2.1(API 级别 7)。如需了解详情,请参阅 V7 mediarouter 库

支持库 r18 中引入的 v7 mediarouter 库 API 可能会在之后的支持库修订版中发生更改。目前,我们建议仅在与 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 支持库的变更:
  • 通过扩充 NotificationCompat,添加了对 Android 4.1(API 级别 16)中引入的通知功能的支持。

修订版 9

2012 年 6 月

针对 v4 支持库的变更:

修订版 8

2012 年 4 月

针对 v4 支持库的变更:
  • 修复了由 TaskStackBuilder 生成的 PendingIntent 对象的 Intent 标记。
  • 从 gridlayout 库项目中移除了未使用的属性,以确保可使用 API 级别 7 及更高级别构建此库。
  • 为 gridlayout 库项目添加了 .classpath.project 文件。

修订版 7

2012 年 3 月

针对 v4 支持库的变更:
  • 添加了 ShareCompat,它提供辅助类,用于收发社交分享应用的内容,包括用于注明分享的数据来自源应用的新元数据。此类还提供与 Android 4.0 中新 ShareActionProvider 的兼容集成。
  • 添加了 NavUtilsTaskStackBuilder,可为实现 Android Design 导航指南提供支持。这些扩充功能包括一种在各个版本之间实现操作栏“向上”按钮的方式。如需查看此模式的示例实现,请参阅 (<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,可使用启动器样式的投掷行为。
    • 修复了界面互动和测试自动化的问题。
  • 针对 Fragment 的支持:
    • setStartDeferred() 方法更改为了 setUserVisibleHint(boolean)
    • 为屏幕外页面添加了推迟启动,可提高性能。
  • 针对无障碍功能 API 的支持:

修订版 5

2011 年 12 月

针对 v4 支持库的变更:

修订版 4

2011 年 10 月

针对 v4 支持库的变更:
  • 添加了 EdgeEffectCompat,可支持 EdgeEffect
  • 添加了 LocalBroadcastManager,允许应用在单个应用内轻松注册和接收 Intent,而无需全局传播。
  • ViewCompat 中添加了对检查 Android 2.3 及更高版本上的 View 并为其设置滚动模式的支持。
  • 针对 Fragment API 的变更:
    • 新增了 API,可控制新菜单的可见性。
    • 添加了自定义动画 API。
    • FragmentActivity 中添加了 API,可保留自定义的非配置实例数据。
    • 修复了各种问题。
  • 修复了在 Froyo 和较早版本的平台上运行时导致取消 AsyncTaskLoader 错误。支持代码现在使用自己的 AsyncTask 版本,以在所有平台版本上保持相同的行为。

修订版 3

2011 年 7 月

针对 v4 支持库的变更:
  • 添加对 Fragment.SavedState 的支持
  • 添加 MotionEventCompat,可支持更新的 MotionEvent API
  • 添加 VelocityTrackerCompat,可支持更新的 VelocityTracker API
  • 添加 ViewConfigurationCompat,可支持更新的 ViewConfiguration API
  • 通过所有新 API(仅在支持库中提供),您可以创建带有水平分页的界面,让用户在内容视图之间左右滑动。支持此功能的类包括:
    • ViewPager:管理子视图布局的 ViewGroup,用户可以在子视图之间滑动。
    • PagerAdapter:使用代表每个页面的视图填充 ViewPager 的适配器。
    • FragmentPagerAdapterPagerAdapter 的扩展,用于在 Fragment 之间进行翻转。
    • FragmentStatePagerAdapterPagerAdapter(使用库对 Fragment.SavedState 的支持)的扩展,用于在 Fragment 之间进行翻转。
新增的 v13 支持库:
  • 包括 FragmentPagerAdapterFragmentStatePagerAdapter,可支持水平分页。

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

修订版 2

2011 年 5 月

针对 v4 库的变更:

修订版 1

2011 年 3 月

v4 库的初始版本。