支持库修订版本归档

本页详细介绍了之前的支持库软件包版本。对于 最新的支持库版本,请参阅近期 支持库修订版本

修订版 26.0.0 测试版 2

(2017 年 6 月)

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

重要提示:支持库现已推出 通过 Google 的 Maven 代码库创建您无需下载 从 SDK 管理器中删除。如需了解详情,请参阅 支持库设置

新增 API

API 差异

bug 修复

  • 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。此更改 会产生以下影响: <ph type="x-smartling-placeholder">
      </ph>
    • 这可能会导致现有代码的返回类型不明确, 例如,如果既有 someMethod(View) 也有 接受以下调用的结果的 someMethod(TextView)findViewById()
    • 使用 Java 8 源语言时,需要显式转换为 View,当返回值类型不受限制(例如, assertNotNull(findViewById(...)).someViewMethod())
    • 替换非最终 findViewById() 方法(适用于 (例如 Activity.findViewById())需要其退货 类型已更新。

新增 API

  • FragmentManagerFragment isStateSaved() 方法,以允许查询 允许交易,而不会丢失状态。这在很大程度上 在执行任何onClick() 交易。
  • AnimatedVectorDrawableCompat 支持路径动作。 路径动作允许一个对象 Animator 同时更改两个属性 基于一条路径上的转化路径指定为 android:pathData)。
  • 基于物理特性 动画: <ph type="x-smartling-placeholder">
      </ph>
    • 新增了 FlingAnimation,支持使用 并平缓地减速。
    • DynamicAnimation 的子类支持为自定义设置动画效果 属性。
    • SpringAnimationFlingAnimation 都可以 现在为浮点值添加动画效果,而无需使用 ViewObject

    有关详情,请参阅 弹簧动画投掷动画 预览页面。

  • 字体 XML 支持: <ph type="x-smartling-placeholder">
      </ph>
    • ResourcesCompat.getFont 允许加载字体 包括字体系列 XML 等, TextView.setTypeface()
    • 使用 AppCompat 时,TextView 支持指定字体资源或 字体系列 XML(通过 android:fontFamily XML 属性实现)。
    • 使用 XML 字体系列创建具有样式和粗细的字体系列 变体。(如果您使用支持库类执行此操作,请使用 app: 属性以及 android: 属性。)
  • 可下载 字体: <ph type="x-smartling-placeholder">
      </ph>
    • 新增了 FontsContractCompat,可让您请求字体 而不是将它们捆绑在应用中。
    • 字体也可以在 XML 中请求,以及在布局中使用。
  • 表情符号兼容性 库: <ph type="x-smartling-placeholder">
      </ph>
    • EmojiCompat 可以处理指定的 CharSequence 并添加 EmojiSpans
    • EmojiTextView 和其他 widget,用于显示表情符号。
    • FontRequestEmojiCompatConfig,用于请求 字体提供程序。
  • 自动调整大小 TextView 中显示每项信息: <ph type="x-smartling-placeholder">
      </ph>
    • TextViewCompat 中的新方法以及 XML 属性 在 TextView 中控制自动调整大小的功能。
  • 支持跳转的 Leanback 播放控件:
    • 新增了 PlaybackTransportRowPresenter,可呈现播放内容 控件。
    • 新增了 PlaybackTransportControlGlue,可与 PlaybackTransportRowPresenter 配合使用并支持跳转。
    • 为应用新增了基类 PlaybackSeekDataProviderPlaybackTransportControlGlue 提供跳转缩略图。
  • Preferences Data Store: <ph type="x-smartling-placeholder">
      </ph>
    • PreferenceDataStore 现在允许您自行实现 偏好设置存储,使用 Preference 中的新方法进行设置 和 PreferenceManager

已知问题

bug 修复

  • 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 的存在只是 API <14 的兼容性 已弃用。这些 API 的客户端应迁移到其框架 等效方法(如参考页面中所述)。

  • support-percent 模块已弃用。本单元的客户 应迁移到新的 ConstraintLayout 微件,该微件以 单独的工件
  • support-fragment 模块不再依赖于 support-media-compat 模块。

新增 API

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

  • IME_FLAG_NO_PERSONALIZED_LEARNING:IME 可以监听 “不学习”标志。本次 功能有助于 IME 了解应用是否处于私密模式,以便它们 停用应用的学习或自适应功能 模式。

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

bug 修复

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

修订版 25.4.0

(2017 年 6 月)

重要提示:支持库现已推出 通过 Google 的 Maven 代码库创建您无需下载 从 SDK 管理器中删除。如需了解详情,请参阅 支持库设置

重要变更

  • 期间不允许调用 executePendingTransactions()commitNow()popBackStackImmediate() 及类似的事务 FragmentManager 状态更改。可再次参加 事务的执行是不安全的,FragmentManager 现在会在其状态下强制执行此操作 更改。
  • 在发布此支持库版本的同时,我们还发布了 MultiDex 1.0.2 版。此版本包含以下重要变更: <ph type="x-smartling-placeholder">
      </ph>
    • 允许对插桩测试 APK 进行多 dex 处理。
    • 废弃了 MultiDexTestRunner(应使用 AndroidJUnitRunner) )。
    • 更好地防范部分错误的归档提取 管理应用
    • 修复了可能导致临时文件被放弃的 bug。
    • 在并发过程中完成时,可提供更快的安装速度。
    • 修复了 API 19 和 20 上的安装 bug。

新增的和修改后的 API

AnimatedVectorDrawableCompat 支持路径变形和路径插值。路径变形 允许形状从一个路径发生变化(指定为 android:valueFrom)到另一个路径(指定为 android:valueTo),以便提供复杂且富有吸引力的视觉图像 效果。路径插值允许为 AnimatedVectorDrawableCompat 指定插值器 路径(在插值器的android:pathData XML)。

API 差异

修复的问题

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

修订版 25.3.1

(2017 年 3 月)

修复的问题

  • SwitchCompat 要求最低 SDK 版本 14 或更高版本。(AOSP 问题 251302
  • 基于物理特性的动画 updateListener 会跳过第一帧。
  • BottomNavigationView”标签动画 出现故障。

修订版 25.3.0

(2017 年 3 月)

重要变更

支持库版本元数据将自动添加到 从 Gradle 构建时为 AndroidManifest.xml,这可以简化 公开 build 中的版本跟踪。例如:

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

废弃

此版本中弃用了很多方法和类。 这些已弃用的 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 发生崩溃 ViewHolder(AOSP 问题 225762
  • getAllowGeneratedReplies() 针对 WearableExtender

修订版 25.1.1

(2017 年 1 月)

重要提示android.support.v7.media.MediaRouter 中存在一个已知 bug 类。如果您的应用使用 v7 MediaRouter 您应更新到支持库修订版 25.2.0, 修正了这个错误。

重要变更

  • Fragment 事务现在可以在内部和内部进行优化 交易。优化 fragment 事务操作可以消除 执行取消操作例如,假设有两个事务 一个用于添加 fragment A,另一个用于添加 fragment A 将 fragment A 替换为 fragment B。在这种情况下, 可能会被取消,并且仅添加了 fragment B。这意味着,Fragment 可能无法经历创建/销毁生命周期。

    这项优化的一个副作用是,fragment 可能具有状态, 更改顺序偏低例如,假设一个事务 添加 fragment A,第二个添加 fragment B,第三个移除 fragment 答:如果没有优化,fragment B 可能会预料到,虽然它正在 因此 fragment A 也会存在,因为 fragment A 将被移除 在添加 fragment B 之后。使用优化时,fragment B 无法确定 创建 fragment A 时将存在 fragment A,因为 fragment A 的 优化可能会撤消创建和销毁操作。

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

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

修复的问题

修订版 25.1.0

(2016 年 12 月)

重要提示android.support.v7.media.MediaRouter 中存在一个已知 bug 类。如果您的应用使用 v7 MediaRouter 您应更新到支持库修订版 25.2.0, 修正了这个错误。

重要变更

  • 嵌套的 RecyclerView widget 的客户端 (例如,水平滚动列表的垂直滚动列表)可以获得 来提示内部 RecyclerView widget 的布局管理器 需要准备的一系列项目。致电 LinearLayoutManager.setInitialPrefetchItemCount(N), 其中 N 是每个内部项可见的视图数。例如: 如果您的内部水平列表至少显示 3.5 个条目的浏览量 您可以同时调用 LinearLayoutManager.setInitialPrefetchItemCount(4)。执行此操作 允许 RecyclerView 创建所有相关的 观看次数,外层RecyclerView 这可显著减少操作期间的卡顿现象 滚动。
  • FragmentActivity.setSupportMediaController()FragmentActivity.getSupportMediaController() 已弃用请使用新的静态 MediaControllerCompat.setMediaController()MediaControllerCompat.getMediaController() 方法。
  • 当客户端通过 appcompat 色调调节(例如, appcompat:buttonTint),则客户需负责提供 所有必要状态(例如“已停用”“已按下”等)。这是 与使用框架色调调节时指定微件色调调节的方式一致。

新增的和修改后的 API

修复的问题

  • 显示/隐藏密码未通过无障碍功能测试。
  • Appcompat 不支持 Android L 之前设备上的 state_enabled
  • RecyclerView 添加了焦点恢复机制。这也修复了支持偏好设置 在使用方向键导航(例如在 Android TV 上)时,fragment 破坏了焦点 设备。
  • Leanback:BrowseFragment 在头文件处于停用状态及适配器为空的情况下发生崩溃。
  • Appcompat:AlertDialog 太宽。
  • InputContentInfoCompat 次通话 在应该调用 releasePermission() 时调用 requestPermission()
  • MediaBrowserCompat 次崩溃。
  • CoordinatorLayout 在可见性设置为 GONE
  • 无法在 API 级别对 AnimatedVectorDrawableCompat 进行色调调节 24 岁以下
  • Leanback 库触发虚假 lint 错误
  • Palette 库导致在每个 API 级别上测试失败
  • “尽兴赏”上有 RecyclerView 项测试失败
  • 回收时 RecyclerView 发生崩溃 ViewHolder(AOSP 问题 225762
  • Fragment.onDestroy() 不会针对返回堆栈中的 fragment 调用
  • CollapsingToolbarLayout”纱罩 收起时未绘制
  • CoordinatorLayout.offsetChildByInset()投出 IllegalArgumentException
  • RecyclerView 项分离动画效果 内部 RecyclerView,防止未来发生 预提取
  • 无法附加 RecyclerView 项内容 嵌套预提取
  • 预取嵌套 RecyclerView 的数据 项在第一个布局期间被丢弃
  • 如果两次拖动,RecyclerView 预提取会失败 事件到达同一位置
  • RecyclerView应为推测 RenderThread 进行渲染时的布局,
  • 夜间配置的颜色资源有时无法转换为可绘制对象 从资源缓存中正常完全清除
  • FloatingActionButton: 以编程方式设置 BackgroundTintList 无法正常工作(AOSP 问题 227428
  • TextInputLayout:字体不是 为 ErrorView 做好准备(AOSP 问题 227803
  • TextInputLayout始终回退 更改为 API 23 以下的浅色错误颜色(AOSP 问题 221992
  • FloatingActionButton显示为 指针离开时已按下

有关公共问题修复的完整列表,请访问 AOSP 问题跟踪器

废弃

此版本中弃用了很多方法和类。这些 已弃用的 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 类 实现了 “导航”模式。
  • 新的 android.support.v13.view.inputmethod 软件包包含类 用于访问在 API 之后引入的 android.view.inputmethod.InputConnection 功能 。
  • android.v7.widget.RecyclerView.DividerItemDecoration 类 提供在 项。
  • android.support.v7.app.NotificationCompat的装饰新样式, DecoratedCustomViewStyleDecoratedMediaCustomViewStyle,镜像添加到的类 平台 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

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

API 更新

行为变更

  • 如果您使用 appcompat 库的日间/夜间功能,系统 现在只要日间/夜间模式发生变化,就会自动重新创建 activity (因为时间或调用 AppCompatDelegate.setLocalNightMode())。
  • Snackbar现在领先于 导航栏。

MediaRouter 库

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

废弃

已弃用的类和方法可能会在未来的版本中移除。您应该尽快停止使用这些 API。

bug 修复

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

  • 确保在以下情况下显示 SwipeRefreshLayout 指示符 在第一次测量传递之前调用 setRefreshing(true)AOSP 问题 77712
  • 防止 TabLayout 在切换页面时闪烁 (AOSP 问题 180454
  • 进行数据编出时避免使用 ClassNotFoundException API 级别 11 及更低级别上的 SavedStateAOSP 问题 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 库
针对设计支持的变更 库
针对 v17 Leanback 库的变更:
  • 添加了 OnboardingFragment,以提供首次运行欢迎页面 和设置流程
针对自定义标签页的变更:
  • 添加了对提供 RemoteViews 的支持 辅助工具栏的层次结构
  • 添加日期:CustomTabsClient.connectAndInitialize() 进行单行热身

修订版 23.4.0

2016 年 5 月

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

修订版 23.3.0

4 月 2016 年

针对 v4 支持的变更 库
  • 添加了 AppLaunchChecker,以帮助跟踪您的应用 用户过去已启动过该应用。 hasStartedFromLauncher() 会告知您用户是否 之前从主屏幕启动过您的应用,或者 用户是通过其他方式启动的(例如,查看 网址)。
  • 修复了以下项目中的内存泄漏: MediaBrowserServiceCompat.mConnections。(问题 205220
  • 修复了 ViewPager 的问题 不考虑翻页时的页边距。(问题 203816
  • Fragment.onRequestPermissionsResult()现已交付给子级 fragment。
v7 的更改 appcompat 库
v7 的更改 mediarouter 库
针对 v7 Preference 的变更 库:
v7 的更改 recyclerview 库
针对设计支持的变更 库

修订版 23.2.1

3 月 2016 年

针对 v4 支持的变更 库
v7 的更改 appcompat 库
针对 v7 cardview 的变更 库
v7 的更改 recyclerview 库
v7 的更改 mediarouter 库
v17 变更 Leanback 库
  • 修复了 GridLayout.onAddFocusables() 存在的问题, 导致用户选择了错误的内容。
  • 修复了与 GuidedStepFragment 操作相关的问题 并消失。
针对设计支持的变更 库
VectorDrawableCompat 的变更:
  • 修复了为 android:tintMode 读取错误变量的错误。(问题 201907

修订版 23.2.0

2 月 2016 年

针对 v4 支持库的变更:
  • MediaBrowser 支持添加了 MediaBrowserCompat,为 MediaBrowserService 支持添加了 MediaBrowserServiceCompat。有用 在将媒体应用的后台服务与界面组件连接时, 以及集成 Android Auto 和 Android Wear API 级别 21 或更高级别。
  • 系统现在调用 onActivityResult() 嵌套的 FragmentActivity
针对 v7 AppCompat 的变更 库
  • 向 API 级别 14 及更高级别添加了夜间模式功能。切换 之间的材料 浅色和 Material 深色主题(基于一天中的时段或 应用专用设置。
    • 您可以在这里找到日间和夜间主题:<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 支持库的变更:
  • 添加了对 bottom 的支持 表格。互动插件 BottomSheetBehavior 允许 CoordinatorLayout 的子视图充当 底部动作条。基类 BottomSheetCallback 提供 回调来监控底部动作条事件。
针对 CustomTabs 支持的变更 库
  • Chrome 浏览器 自定义标签页现在允许应用包含带有操作的底部栏 按钮以及现有的顶部操作按钮
  • CustomTabsIntent.Builder.addToolBarItem():添加操作 按钮添加到自定义标签。您可以使用此方法添加多个按钮。
  • CustomTabsSession.setToolBarItem():更新视觉元素 。此方法只有在获得 有效 ID,且浏览器会话位于前台。
添加了 VectorDrawable 支持库:
  • 添加了类:
    • VectorDrawableCompat
    • AnimatedVectorDrawableCompat
  • 为应用添加对 VectorDrawable 素材资源的支持 在 API 级别 7 或更高版本上运行。AnimatedVectorDrawable 项素材资源 在 API 级别 11 或更高级别上也受支持。矢量资源可以是 明显小于图片素材资源,应该有助于减少 从而减少支持多个 设备屏幕。
  • 此库现在是 v7 AppCompat 库的依赖项,允许 AppCompat 来轻松使用矢量可绘制对象如需在 ImageButtonVectorDrawableCompat ImageView,请使用 app:srcCompat XML 属性或 setImageResource() 方法。
  • 为了在 API 级别 20 或 将以下 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 列表设置为下拉菜单 子操作菜单
  • DatePicker 功能添加了 GuidedDatePickerAction 微件:
    • 日期使用年、月和日列选择,并且 可自定义范围
    • GuidedDatePickerAction.BuilderGuidedDatePickerAction 对象的构建器类。
    • 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 方法。
  • 修复了以下对象上 FloatingActionButton 对象的透明背景问题: 搭载 Android 4.0(API 级别 15)及更低版本的设备。 (问题 183315

修订版 23.1.0

2015 年 10 月

针对 v4 支持库的变更:
  • OnScrollChangedListenerNestedScrollView”微件。它 可让您在 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 微件。
  • 通过向 AppBarLayout 类添加 SCROLL_FLAG_SNAP 常量。滚动结束时,如果视图只显示 部分可见,则视图会被贴靠并滚动到其最近的边缘。
  • 通过使用NavigationView app:actionLayout 属性或 MenuItemCompat.setActionView() 方法。
针对 Custom Tabs 支持库的变更:
  • CustomTabsIntent 添加了 enableUrlBarHiding() 方法 类。它让客户端可以自定义是否应自动隐藏网址栏 。
  • CustomTabsSession 添加了 setActionButton() 方法 类。它可以让客户端 在已启动的自定义标签页中更改自定义操作按钮的图标。
  • 添加了 TAB_SHOWNTAB_HIDDEN 常量作为新事件 对于 CustomTabsCallbackonNavigationEvent 方法 类。

修订版 23.0.1

2015 年 9 月

v7v14 Preference 支持库:
  • 添加了 Material Design 布局和样式文件。 (问题 183376
针对 v7 appcompat 库的变更:
针对 Design 支持库的变更:
针对 Custom Tabs 支持库的变更:

修订版 23

2015 年 8 月

添加了新的支持库:

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

修订版 22.2.1

2015 年 7 月

针对 Design 支持库的变更:
  • hide()show() 方法添加到 用于程序化交易的 FloatingActionButton 类 动画触发。
  • LENGTH_INDEFINITE 常量添加到了 用于显示信息条的 Snackbar 类 直到用户将其关闭或显示另一个信息条。此外,还添加了 setActionTextColor(int)setActionTextColor(ColorStateList) 方法。
  • getSelectedTabPosition() 方法添加到了 TabLayout 类,用于检索当前的 选中的标签页。
  • 为开发者提供 方法的 android.support.v7.app.NotificationCompat.MediaStyle 类 链接。
  • RecyclerView,用于批量插入项目。

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

修订版 22.2.0

2015 年 5 月

添加了 Design 支持库
针对 v4 支持库的变更:
针对 v7 appcompat 库的变更:

有关支持库变更的完整列表,请参阅 支持 Library 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 widget,以支持显示 commitIcon
  • 删除了 buttonGravity 属性(从 Toolbar 类。
针对 v7 cardview 库的变更:
针对 v7 recyclerview 的更改 库
针对 v17 leanback 库的变更:
  • 添加了对生成 v4 代码 Fragment 的支持。
  • 更改了 CardView 上的辅助文本颜色。

修订版 21.0.1

2014 年 11 月

已添加 <ph type="x-smartling-placeholder"></ph> MultiDex 支持库来支持 Dalvik 可执行文件 (DEX) 。

修订版 21

2014 年 10 月

针对 v4 支持库的变更:
  • 添加了对 Fragment 的支持 转换。 请注意,转换对运行的设备没有影响 Android 4.4 及更低版本。
  • 添加了 DocumentFile 以加/减速 从 File 的过渡 会非常有帮助不过,这个类要求 与平台服务相比, 已添加 DocumentsContract 个 API Android 4.4(API 级别 19)。因此,在 Android 4.4 上运行时,您应改用 DocumentsContract 和更高版本。
针对 v7 appcompat 的变更 库
  • 增加了对 material 的支持 设计界面。
  • 添加了 Toolbar,用于泛化 我们使用 ActionBar 的功能, 以便在应用布局中使用
  • 更新时间:ActionBarDrawerToggle, 它包含菜单到箭头的动画,
  • 更新了常见的界面 widget,以允许通过主题进行色调调节 属性(在低于 Android 5.0 的设备上运行时)
  • 添加了向后移植 SwitchCompat Switch widget 中引入的 Android 4.0(API 级别 14)。
新增的 v7 cardview 库
  • 添加了 CardView widget, 提供与 Material Design 兼容的实现 数据项。
新的 v7 recyclerview 库
  • 添加了 RecyclerView widget, 它提供了一个灵活的列表视图,用于提供有限的窗口 转换为大型数据集。
新增的 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 支持库的变更:
  • 界面 <ph type="x-smartling-placeholder">
      </ph>
    • 添加了 BidiFormatter 进行处理 用于组合从右到左和从左到右格式文本的文本字符串。
    • 修改了 ViewPager,以更好地处理 在初始布局处理中,分页器的测量宽度为零。
    • 修改时间:DrawerLayoutSlidingPaneLayout,不针对 衡量。
  • 无障碍 <ph type="x-smartling-placeholder">
  • 媒体 <ph type="x-smartling-placeholder">
      </ph>
    • 添加了 TransportMediator 辅助类以进行管理 媒体传输控制,例如播放、暂停、跳过和其他媒体操作。
    • 添加了 DisplayManagerCompat 以进行管理 输出到一个或多个设备显示屏。
  • 其他变更 <ph type="x-smartling-placeholder">
新增的 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 中引入的 v7 mediarouter 库 API 库 r18 可能会在以后的 Support 版本中发生变化 影视库。目前,我们建议仅在连接 使用 Google Cast 开发者预览版

修订版 13

2013 年 5 月

针对 v4 支持库的变更:
新增的 v7 gridlayout 库:
  • 添加了 GridLayout,以便为 GridLayout 布局对象。
  • 添加了 android.support.v7.widget.Space,可用于创建空白区域 放置在 GridLayout 布局对象中。

修订版 12

2013 年 2 月

针对 v4 支持库的变更:
  • 改进了 ViewPager 的互动行为。
  • 修复了可能导致 ViewPager 选择 出错了。
  • 修复了 removeView() 方法的使用问题 在布局 ViewPager 时抛出该异常。
  • 修复了 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 对象的 intent 标志 上传者: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)。
  • 添加了 NotificationCompat.Builder,以提供 Android 3.0 的 Notification.Builder 辅助程序类的兼容性实现 创建标准化系统通知。

修订版 6

2011 年 12 月

注意:支持库 API 的参考现在可通过 框架引用,例如:android.support.v4.app

针对 v4 支持库的变更:
  • 对 ViewPager 的更改: <ph type="x-smartling-placeholder">
      </ph>
    • ViewPager 添加了额外的装饰性视图支持。 在 XML 布局中,装饰性视图可作为页面控制项的子视图提供。
    • 添加了 PagerAdapter.getPageTitle(),用于提供页面的标题字符串,该字符串默认为 no 每个网页的标题。
    • 添加了非交互式标题 PagerTitleStrip 条形,可作为 ViewPager 的子项进行添加。开发者可以提供 以及布局大小和重力信息。
    • 更新了 PagerAdapter 方法,以便获取 ViewGroup 对象而不是 View 来避免适配器实现中的类转换。
    • 更新了 ViewPager,以使用启动器样式 快速滑动行为。
    • 修复了界面互动和测试自动化的问题。
  • 对 Fragment 的支持: <ph type="x-smartling-placeholder">
      </ph>
    • setStartDeferred() 方法更改为了 setUserVisibleHint(boolean)
    • 为屏幕外页面添加了推迟启动,可提高性能。
  • 对无障碍功能 API 的支持: <ph type="x-smartling-placeholder">

修订版 5

2011 年 12 月

针对 v4 支持库的变更:

修订版 4

2011 年 10 月

针对 v4 支持库的变更:
  • 已将EdgeEffectCompat添加到 支持 EdgeEffect
  • 添加了 LocalBroadcastManager,以便应用轻松 在单个应用内注册和接收 intent,而无需 并在全球范围内进行广播
  • ViewCompat 中添加了对检查和设置滚动行为的支持 View 模式。
  • Fragment API 的变更: <ph type="x-smartling-placeholder">
      </ph>
    • 新增了 API,可控制新菜单的可见性。
    • 添加了自定义动画 API。
    • FragmentActivity 中添加了 API,以保留自定义、 非配置实例数据
    • 修复了各种问题。
  • 修复了导致以下项目出现问题的 Loader bug: 在 Froyo 及更早版本上运行时取消 AsyncTask 平台。支持 代码现在使用自己的 AsyncTask 版本,以保持与 行为

修订版 3

2011 年 7 月

针对 v4 支持库的变更:
  • 添加对 Fragment.SavedState 的支持
  • 添加 MotionEventCompat,可支持更新的 MotionEvent API
  • 添加 VelocityTrackerCompat,可支持更新的 VelocityTracker API
  • 添加 ViewConfigurationCompat,可支持更新的 ViewConfiguration API
  • 允许您创建界面的所有新 API(仅在支持库中可用) 具有水平分页,使用户可以在内容视图之间左右滑动。目标类 包括: <ph type="x-smartling-placeholder">
      </ph>
    • ViewPager:用于管理ViewGroup 子视图的布局,用户可以在子视图之间滑动。
    • PagerAdapter:使用ViewPager 代表各个网页的数据视图
    • FragmentPagerAdapter:用于翻转的 PagerAdapter 的扩展 fragment 之间的连接。
    • FragmentStatePagerAdapterPagerAdapter 的扩展,适用于 在使用库对 Fragment.SavedState 的支持的 fragment 之间翻转。
新增的 v13 支持库:
  • 包含FragmentPagerAdapterFragmentStatePagerAdapter 以支持水平分页。

    这些与添加到 v4 支持库中的 API 完全相同,但依赖于 Android 3.2 中的其他平台组件。如果您是针对 Android 3.2 及更高版本(v4 库中的所有其他 API 已在 API 级别中提供) 13)。

修订版 2

2011 年 5 月

针对 v4 库的变更:

修订版 1

2011 年 3 月

v4 库的初始版本。