本页详细介绍了之前的支持库软件包版本。对于 最新的支持库版本,请参阅近期 支持库修订版本。
修订版 26.0.0 测试版 2
(2017 年 6 月)
请注意,26.0.0-beta2 是一个预发布版本。它的 API Surface 是 可能会发生更改,而且不一定包含功能或问题修复 从最新的稳定版支持库中获取。
重要提示:支持库现已推出 通过 Google 的 Maven 代码库创建您无需下载 从 SDK 管理器中删除。如需了解详情,请参阅 支持库设置。
新增 API
- 新增了
JobIntentService
类,以便提供帮助 开发者以符合新 Android O 要求的方式安排任务 后台执行限制。
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
-
FragmentManager
和Fragment
isStateSaved()
方法,以允许查询 允许交易,而不会丢失状态。这在很大程度上 在执行任何onClick()
交易。 AnimatedVectorDrawableCompat
支持路径动作。 路径动作允许一个对象 Animator 同时更改两个属性 基于一条路径上的转化路径指定为android:pathData
)。- 基于物理特性
动画:
<ph type="x-smartling-placeholder">
- </ph>
- 新增了
FlingAnimation
,支持使用 并平缓地减速。 DynamicAnimation
的子类支持为自定义设置动画效果 属性。SpringAnimation
和FlingAnimation
都可以 现在为浮点值添加动画效果,而无需使用View
或Object
。
- 新增了
-
字体
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
配合使用并支持跳转。 - 为应用新增了基类
PlaybackSeekDataProvider
向PlaybackTransportControlGlue
提供跳转缩略图。
- 新增了
- Preferences Data Store:
<ph type="x-smartling-placeholder">
- </ph>
-
PreferenceDataStore
现在允许您自行实现 偏好设置存储,使用Preference
中的新方法进行设置 和PreferenceManager
。
-
已知问题
- 与 Google Play 集成了可下载字体和表情符号兼容性 服务仅适用于 Google Play 服务 v11 及更高版本, 可从 Google Play 下载 服务 Beta 版计划。
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()
参考资料了解详情。
修复的问题
StaggeredGridLayoutManager
会抛出IllegalArgumentException
(AOSP 问题 230295)RecyclerView
预提取无法正确处理已附加但未显示在屏幕上的RecyclerView
- Robolectric 无法识别
LinearLayout
- 在
Activity
被销毁时,无法针对其 Fragment 正确调用onActivityCreated()
AppCompatImageView
构造函数导致ArrayIndexOutOfBoundsException
Call.Details
Activity 过渡中的界面性能较差
修订版 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()
。
修复的问题
-
MediaSessionCompatTest
会失败,且IllegalArgumentException
-
25.1.0 中未调用
DetailsFragment.installTitleView()
- fragment 事务在退出时保留重影视图(AOSP 问题 230679)
-
BottomNavigationView
需要添加空格 内容图标和文字之间 (AOSP 问题 230653) - 新的
PlaybackFragment
中缺少选定的监听器,并且PlaybackSupportFragment
-
TextInputLayout
的焦点没有变化 从支持库版本 25.1.0 正确在模拟器中(AOSP 问题) 230461) - 无法替换
BottomNavigationView
(AOSP) 的菜单 问题 230343) -
RecyclerView
与StaggeredGridLayoutManager
在使用完整跨度项时发生崩溃(AOSP 问题 230295) - 在以下情况下,在
MediaSessionCompat
中发生崩溃: 使用setCallback(null)
-
PlaybackGlueHostOld
和 在以下情况下,PlaybackSupportGlueHostOld
不会通知回调: 播放行变更 -
PlaybackOverlayFragment
示例 “/test
”无法开始播放 -
RecyclerViewFocusRecoveryTest
在 API 15 上失败 - “屏幕截图”行聚焦于屏幕顶部
-
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()
在 API 15 上发生崩溃 -
onSubactionClicked()
中的setActions()
已损坏 -
在回收一些 ViewHolder 时,
RecyclerView
发生崩溃
修订版 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
- 添加了 ExifInterface 支持 库。此库 取消捆绑对从 JPEG 和原始格式读取 Exif 信息的支持 并在 JPEG 图片文件上设置 Exif 信息。
Snackbar
已重构为 允许应用显示自定义内容。BaseTransientBottomBar
是公开 一般滑动和动画行为。- 添加了新的 leanback.media 软件包,其中包含用于将媒体播放器集成到 Android TV 应用的辅助类。
- 添加了
SeekBarPreference
支持 v7 偏好设置,支持可自定义的布局和属性 支持库。 - 添加了
ArraySet
类添加到 v4 支持库。此类对应框架ArraySet
类(在 API 级别 23 中引入)。 RecyclerView
RecyclerView 项 预提取方面的改进: <ph type="x-smartling-placeholder">- </ph>
- 嵌套
RecyclerView
预提取 支持从另一个滚动RecyclerView
内的RecyclerView
预提取内容,并可使用 API 控制 预提取完成: - 为自定义
LayoutManager
添加了 API 要实现的对象以在滚动和投掷期间启用预取 <ph type="x-smartling-placeholder"> - 改进了预提取,以便仅执行尽可能多的创建/绑定工作 尽可能减少
- 嵌套
修复的问题
- 显示/隐藏密码未通过无障碍功能测试。
- 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 将在未来的版本中移除,开发者应 迁移它们。如需详细了解如何弃用 请参阅其文档。
-
android.support.design.widget
-
android.support.v17.leanback.app
BackgroundManager.getDefaultDimLayer()
BackgroundManager.getDimLayer()
BackgroundManager.setDimLayer()
MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[])
MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[],int[])
PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[])
PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[],int[])
PlaybackControlGlue.getFragment()
PlaybackControlGlue.getOnItemViewClickedListener()
PlaybackControlGlue.onRowChanged()
PlaybackControlGlue.pausePlayback()
PlaybackControlGlue.skipToNext()
PlaybackControlGlue.skipToPrevious()
PlaybackControlGlue.startPlayback()
PlaybackControlSupportGlue
PlaybackOverlayFragment
PlaybackOverlaySupportFragment
-
android.support.v17.leanback.widget
-
android.support.v4.app
FragmentActivity.getSupportMediaController()
FragmentActivity.setSupportMediaController()
修订版 25.0.1
(2016 年 11 月)
修复的问题
TextInputLayout
密码切换开关 现在默认处于停用状态,以避免不必要地覆盖 开发者指定的结束可绘制对象您可以进入passwordToggleEnabled
XML 属性。BottomNavigationView
项内容现已更新 一行即可符合 Material 规范。- 如果发生以下情况,则
RecyclerView
会在预提取期间崩溃: 为 null。 BottomNavigationView
海拔为 现已正确设置(AOSP 问题 226182)BottomNavigationView
发生崩溃 以编程方式添加菜单项。(AOSP 问题 225731)- 固定到
TextInputLayout
左侧+右侧 复合可绘制对象(AOSP 问题 225836) - 回收时
RecyclerView
发生崩溃 ViewHolder。(AOSP 问题 225762) - Leanback:TalkBack 经常显示“null”一词在分屏视图中显示
RecyclerView
: Android Studio。(AOSP 问题 225753)- 仍在显示
BottomNavigationView
在onNavigationItemSelected()
返回 false 后选中的菜单项。(AOSP 问题 225898) - ForwardingListener 会抛出
NoSuchMethodError
。(AOSP 问题 225647) TextInputEditText
未显示 在 IME 提取模式下显示提示。(AOSP 问题 221880)
有关公共问题修复的完整列表,请访问 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
的装饰新样式,DecoratedCustomViewStyle
和DecoratedMediaCustomViewStyle
,镜像添加到的类 平台 API 24。
修复的问题
有关公共问题修复的完整列表,请访问 AOSP 问题跟踪器。
修订版 24.2.1
2016 年 9 月
修复的问题:
FloatingActionButton
无法再 会锚定到CoordinatorLayout
的间接子项。(AOSP 问题 220250)CollapsingToolbarLayout
内的图片无法正常缩放 和fitsSystemWindows=true
。(AOSP 问题 220389)- 在
Snackbar
显示出来并被关闭时,CoordinatorLayout
会抛出IndexOutOfBoundsException
。(AOSP 问题 220762) TextInputLayout
无法解析 错误文本颜色。(AOSP 问题 220305)BatchedCallback.onMoved()
会调用BatchedCallback.onInserted()
。(AOSP 问题 220309)TextInputLayout
替换右侧内容 复合可绘制对象(AOSP 问题 220728)
有关公共问题修复的完整列表,请访问 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
-
提供多种实用程序类,例如
AsyncTaskLoader
和PermissionChecker
。 -
support-core-ui
-
实现各种与界面相关的组件,例如
ViewPager
、NestedScrollView
和ExploreByTouchHelper
。 -
support-media-compat
-
媒体框架的向后移植部分,
包括
MediaBrowser
和MediaSession
。 -
support-fragment
-
向后移植 fragment
框架。此模块依赖于
support-compat
,support-core-utils
、support-core-ui
和support-media-compat
。
为了实现向后兼容性,如果您在support-v4
Gradle 脚本,您的 APK 将包含所有这些模块。不过,为了减少
APK 大小,我们建议您只列出应用需要的特定模块。
API 更新
- 使用自定义标签页的客户端可以
控制是否应打开免安装应用。(请注意,免安装应用目前
正式版。)要启用或停用免安装应用,请调用
CustomTabsIntent.Builder.setInstantAppsEnabled()
或 指定EXTRA_ENABLE_INSTANT_APPS
。默认情况下 默认在免安装应用推出时启用。 TextInputLayout
支持 <ph type="x-smartling-placeholder"></ph> Material Design 规范中的“显示/隐藏密码”切换开关。- 全新的
android.support.transition
软件包将 Transitions 框架向后移植到 API 级别 14 和更高版本。如需了解详情,请参阅android.support.transition
参考文档。 - Custom Tabs 支持库
添加了对在辅助实例中使用
RemoteViews
的支持 工具栏。现有的setToolbarItem()
方法现已弃用。 AppCompatResources
会将 能够加载<vector>
(在 API 级别 9 及更高级别上)或<animated-vector>
(在 API 级别 11 及更高版本中) 通过使用新的getDrawable()
方法确定资源 ID。CoordinatorLayout
现在支持 定义边衬区视图,并指定其他视图应避开边衬区 观看次数。这样,应用就可以复制行为模式,FloatingActionButton
从Snackbar
的方式,但对于任何 任意子视图。有关详情,请参阅LayoutParams.insetEdge
和LayoutParams.dodgeInsetEdges
参考文档。- 新的
DiffUtil
类可以计算 并分派适合的更新操作列表 供RecyclerView.Adapter
使用。 -
已添加
RecyclerView.OnFlingListener
,以支持自定义 快速响应。SnapHelper
类提供了专门用于贴靠子视图的实现,以及LinearSnapHelper
类扩展此实现,以提供居中对齐的贴靠 类似于ViewPager
。 - 自定义标签页库现在允许客户端
而不是自定义标签页界面,方法是调用
CustomTabsIntent.setAlwaysUseBrowserUI()
。这种行为 在浏览器默认为自定义标签页界面但用户 表明了更喜欢标准浏览器界面。
行为变更
- 如果您使用 appcompat 库的日间/夜间功能,系统
现在只要日间/夜间模式发生变化,就会自动重新创建 activity
(因为时间或调用
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()
。- 一些抽象类已弃用,取而代之的是
更能反映其等效框架的接口。
AccessibilityStateChangeListenerCompat
已被 替换AccessibilityManagerCompat.AccessibilityStateChangeListener
界面。OnCloseListenerCompat
有 已被SearchViewCompat.OnCloseListener
界面取代。OnQueryTextListenerCompat
已被SearchViewCompat.OnQueryTextListener
取代 界面。
CustomTabsSession.setToolbarItem()
已弃用,取而代之的是 基于 RemoteViews 的setSecondaryToolbarViews()
。
bug 修复
以下已知问题在版本 24.2.0 中得到修复:
- 确保在以下情况下显示
SwipeRefreshLayout
指示符 在第一次测量传递之前调用setRefreshing(true)
(AOSP 问题 77712) - 防止
TabLayout
在切换页面时闪烁 (AOSP 问题 180454) - 进行数据编出时避免使用
ClassNotFoundException
API 级别 11 及更低级别上的SavedState
(AOSP 问题 196430)
有关公共问题修复的完整列表,请访问 AOSP 问题跟踪器。
修订版 24.1.1
2016 年 7 月
修复的问题:
- 修复了 24.1.0 版本中影响资源 ID 的问题 支持在支持库之间共享此问题会导致应用依赖于 支持资源(如 Design 和 appcompat)的库, 遇到由资源 ID 不匹配导致的问题。
修订版 24.1.0
2016 年 7 月
- 针对 v4 支持的变更 库:
-
NotificationCompat.Action.WearableExtender
有新的getHintDisplayActionInline()
和setHintDisplayActionInline()
方法,以便与 Android Wear 2.0 预览版。 通过这些方法,应用可以指定应该 随通知一起显示。- 调用
Fragment.setUserVisbileHint()
不会再导致 fragment 变为 如果提示已添加到尚未提交的FragmentTransaction
,则为 started。本次 会影响符合以下条件的FragmentPagerAdapter
用户: 替换setUserVisbileHint()
并假定 fragment 的特定生命周期状态 在调用super.setUserVisibleHint()
之后。如需更多信息 请参阅Fragment.setUserVisbileHint()
文档的参考页面。
修复的问题:
- TabLayout.setCustomView(null) 导致 NullPointerException (AOSP 问题 214753)
- TabLayout 错误地突出显示自定义标签页(AOSP 问题 214316)
- AppCompatTextHelper 使用排序错误的属性数组(AOSP 问题 214366)
- 使用时无法从可绘制容器 XML 引用 VectorDrawable custom ContextWrapper(AOSP 问题 214055)
- ViewDragHelper.saveLastMotion() 抛出 ArrayIndexOutOfBoundsException (AOSP 问题 212945)
- 使用时,BottomSheetBehavior 展开至原来的内容高度 setState(STATE_EXPANDED)(AOSP 问题 213660)
- CollapsingToolbarLayout 不处理顶部或位置的可固定子项 下外边距(AOSP 问题 213001)
- Leanback 浏览标题不支持 RTL 对齐方式(AOSP 问题 213461)
- PagerTabStrip 因缺少继承的注解而消失(AOSP 问题 213359)
- 使用布尔值进行设置时,数据绑定会抛出 NullPointerException 条件标记(AOSP 问题 191841)
- CoordinatorLayout 不响应 setFitsSystemWindows()(AOSP 问题 212720)
- 设置初始状态时,BottomSheetBehavior 崩溃(AOSP 问题 203114)
- 如果页面索引值较大,ViewPager 会跳过页面(AOSP 问题 211734)
- BottomSheetBehavior 不适用于动态布局(AOSP 问题 205226)
修订版 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
对象的支持
- 添加了对从 XML 引用主题化
- 针对设计支持的变更 库:
-
- 改进了
AppBarLayout
使用StateListAnimator
处理高度
- 改进了
- 针对 v17 Leanback 库的变更:
-
- 添加了
OnboardingFragment
,以提供首次运行欢迎页面 和设置流程
- 添加了
- 针对自定义标签页的变更:
-
- 添加了对提供
RemoteViews
的支持 辅助工具栏的层次结构 - 添加日期:
CustomTabsClient.connectAndInitialize()
进行单行热身
- 添加了对提供
修订版 23.4.0
2016 年 5 月
- 针对 v4 支持的变更 库:
- v7 的更改 appcompat 库:
-
- 已添加
AppCompatDelegate.setCompatVectorFromResourcesEnabled()
方法重新允许在设备的DrawableContainer
对象中使用矢量可绘制对象 搭载 Android 4.4(API 级别 19)及更低版本。如需了解更多详情,请参阅 AppCompat v23.2 - 矢量时代 。 - 修复了 API 23 中 的问题。
AppCompatDelegate.setDefaultNightMode()
不是 在 API 级别 23 中加载正确的资源。(问题 206573) - 修复了可能导致
NullPointerException
的问题。(问题 207638)
- 已添加
- 针对设计支持的变更 库:
-
- 修复了
TextInputLayout
无法清除错误的问题 在 API 级别 21 - 22 上,在setErrorEnabled(false)
之后色调调节(问题 202829) - 修复了
FloatingActionButton
不返回的问题 当动画处于停用状态时。(问题 206416) - 修复了
AppBarLayout
中的问题 贴靠功能(与
滚动标志一起使用时)。 (问题 207398)scroll
|enterAlways
|enterAlwaysCollapsed
|snap
- 修复了
- 针对 Vector Drawable 库的变更:
-
- 修复了
VectorDrawableCompat
执行 无法正确呈现TextView
(API 级别 23)。(问题 206227)
- 修复了
修订版 23.3.0
4 月 2016 年
- 针对 v4 支持的变更 库:
-
- 添加了
AppLaunchChecker
,以帮助跟踪您的应用 用户过去已启动过该应用。hasStartedFromLauncher()
会告知您用户是否 之前从主屏幕启动过您的应用,或者 用户是通过其他方式启动的(例如,查看 网址)。 - 修复了以下项目中的内存泄漏:
MediaBrowserServiceCompat.mConnections
。(问题 205220) - 修复了
ViewPager
的问题 不考虑翻页时的页边距。(问题 203816) Fragment.onRequestPermissionsResult()
现已交付给子级 fragment。
- 添加了
- v7 的更改 appcompat 库:
-
- 修复了
AppCompatSpinner
中可能导致 显示多个弹出式窗口(问题 205052) - 修复了无边框按钮着色方式的问题。 (问题 202967)
- 修复了
AppCompatDialogFragment
和AlertDialog
之间的兼容性问题。(问题 204805) - 已还原对
TintResources
所做的更改,导致出现以下情况: 内存和配置问题(问题 205236)
- 修复了
- v7 的更改 mediarouter 库:
-
- 修复了
MediaRouteControllerDialog
音量滑块的行为(问题 202299)
- 修复了
- 针对 v7 Preference 的变更 库:
-
- 修复了
PreferenceFragmentCompat
崩溃的问题 如果指定了dividerHeight
,则会发生此错误。(问题 204778)
- 修复了
- v7 的更改 recyclerview 库:
-
- 修复了
RecyclerView
无法调用滚动的 bug 回调。(问题 200987) - 修复了
RecyclerView
在 线性布局、加权并包含图像。(问题 203276) - 修复了
OrientationHelper.getStartAfterPadding()
中发生崩溃的问题。(问题 180521) - 修复了使用
android:nestedScrollingEnabled
。(问题 197932)
- 修复了
- 针对设计支持的变更 库:
修订版 23.2.1
3 月 2016 年
- 针对 v4 支持的变更 库:
-
- 修复了
DrawableCompat.wrap()
和LayerDrawable
上的 API 级别 17 到 19。(问题 201817) - 修复了
ViewDragHelper.shouldInterceptTouchEvent()
中的ArrayIndexOutOfBoundsException
。(问题 182262) - 修复了
ViewPager
中与以下内容相关的 bug: 滚动计算。 - 修复了在不设置
DrawerLayout.DrawerListener
的情况下调用DrawerLayout.removeDrawerListener()
时出现的NullPointerException
。(问题 202478) - 修复了不设置
ViewPager
的 bug 正确使用AccessibilityEvent
参数 。 - 修复了使用
Drawable.wrap()
。(问题 201924)
- 修复了
- v7 的更改 appcompat 库:
-
- 恢复了对矢量资源的依赖,以便开发者使用
appcompat
不强制库使用
VectorDrawable
及其关联的构建标志。 - 修复了与夜间模式和 API 级别 23 的兼容性问题。 (问题 201910)
- 修复了
SwitchCompat
和 API 级别 7 的兼容性问题。(问题 201942) - 修复了在 Resources 对象中传播配置值的问题 问题 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)
- 恢复了对矢量资源的依赖,以便开发者使用
appcompat
不强制库使用
- 针对 v7 cardview 的变更 库:
- v7 的更改 recyclerview 库:
-
- 修复了与各种测量规范方法相关的错误。(问题 201856)
- 缩短了
RecyclerView
不允许适配器的锁定期限 在计算布局或滚动时发生的变化。(问题 202046) - 修复了针对看不到的内容调用
notifyItemChanged()
时发生崩溃的问题。(问题 202136) - 修复了
RecyclerView.LayoutManager
在同一位置添加和移除视图时发生崩溃的问题 衡量。(问题 193958)
- v7 的更改 mediarouter 库:
-
- 修复了在 API 级别 17 中调用
MediaRouter.getInstance()
时发生崩溃的问题。(问题 180654)
- 修复了在 API 级别 17 中调用
- v17 变更 Leanback 库:
-
- 修复了
GridLayout.onAddFocusables()
存在的问题, 导致用户选择了错误的内容。 - 修复了与
GuidedStepFragment
操作相关的问题 并消失。
- 修复了
- 针对设计支持的变更 库:
-
- 修复了
TabLayout
崩溃问题 而是由标签页池化引起的(问题 201827) - 修复了
NavigationView
中导致错误的 bug 颜色。(问题 201951) - 修复了
setBackgroundTintList()
无法再更改背景的 bug color 决定。(问题 201873) - 修复了
AppBarLayout
无法完全滚动的问题 与android:fitsSystemWindows = “true”
一起使用时不在视野范围内。 (问题 201822) - 修复了
BottomSheetDialog
不显示的问题 短视频内容观看次数。(问题 201793) - 修复了
BottomSheetDialogFragment
移动的问题 偶尔会在内部内容发生更改时触发。(问题 202125) - 修复了 TextInputLayout 计数器链接中的崩溃问题
- 修复了
TextInputLayout.getCounterMaxLength()
恢复已保存状态时发生崩溃的问题。 (问题 202375) - 修复了在恢复
ClassCastException
CoordinatorLayout
(使用 不是CoordinatorLayout
的视图的已保存状态。
- 修复了
- 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 的更改 库:
-
- 现在需支付
MediaRouteControllerDialog
正确应用自定义应用主题颜色。
- 现在需支付
- 针对 Design 支持库的变更:
-
- 添加了对 bottom 的支持
表格。互动插件
BottomSheetBehavior
允许CoordinatorLayout
的子视图充当 底部动作条。基类BottomSheetCallback
提供 回调来监控底部动作条事件。
- 添加了对 bottom 的支持
表格。互动插件
- 针对 CustomTabs 支持的变更 库:
-
- Chrome 浏览器 自定义标签页现在允许应用包含带有操作的底部栏 按钮以及现有的顶部操作按钮
CustomTabsIntent.Builder.addToolBarItem()
:添加操作 按钮添加到自定义标签。您可以使用此方法添加多个按钮。CustomTabsSession.setToolBarItem()
:更新视觉元素 。此方法只有在获得 有效 ID,且浏览器会话位于前台。
- 添加了 VectorDrawable 支持库:
-
- 添加了类:
-
VectorDrawableCompat
AnimatedVectorDrawableCompat
- 为应用添加对
VectorDrawable
素材资源的支持 在 API 级别 7 或更高版本上运行。AnimatedVectorDrawable
项素材资源 在 API 级别 11 或更高级别上也受支持。矢量资源可以是 明显小于图片素材资源,应该有助于减少 从而减少支持多个 设备屏幕。 - 此库现在是 v7 AppCompat 库的依赖项,允许
AppCompat
来轻松使用矢量可绘制对象如需在
ImageButton
或VectorDrawableCompat
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 } }
- 使用 Android Plugin for Gradle 1.5.0 或
然后将以下内容添加到
- 针对 v17 Leanback 的更改 库:
-
- 为
GuidedStepFragment
添加了新功能, 该组件是引导用户制定一项或一系列决策的组件: -
- 向
GuidedAction
添加了按钮操作: GuidedStepFragment.setButtonActions()
:设置GuidedAction
按钮 用户可以从“操作”视图中进行选择- 说明字段现在可修改:
-
GuidedAction.Builder.descriptionEditable()
:如果通过true
- 将操作的说明设置为可修改。GuidedAction.getEditDescription()
:返回可修改的 以CharSequence
形式提供说明。
- 添加了子操作下拉列表:
-
GuidedAction.setSubActions()
:将GuidedAction
列表设置为下拉菜单 子操作菜单
- 向
- 为
DatePicker
功能添加了GuidedDatePickerAction
微件: -
- 日期使用年、月和日列选择,并且 可自定义范围
GuidedDatePickerAction.Builder
:GuidedDatePickerAction
对象的构建器类。GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat)
:通过传递 适当的三个字符String
,例如“YMD”
或“MDY”
。或者,使用datePickerFormat
XML 属性。
- 为
- 针对 v7 RecyclerView 的变更 库:
-
RecyclerView
现已具有启用选项 名为 AutoMeasure 的功能,可让RecyclerView.LayoutManager
轻松封装 或处理RecyclerView
的父级。它 支持RecyclerView
的所有现有动画功能。-
- 如果您有自定义
RecyclerView.LayoutManager
, 调用setAutoMeasureEnabled(true)
以开始使用新的 AutoMeasure API 的实现。所有内置的RecyclerView.LayoutManager
对象 默认启用自动测量。 RecyclerView.LayoutManager
不再忽略某些RecyclerView.LayoutParams
设置 例如MATCH_PARENT
。注意:解除这些限制可能会导致 出现意外行为请务必指定 正确的布局参数。
- 如果您有自定义
- 使用载荷更新
RecyclerView.ViewHolder
时 信息,DefaultItemAnimator
现在停用更改动画。 - 您现在可以将
ItemTouchHelper
逃逸速度修改为 控制滑动灵敏度。要更轻松或更难滑动, 替换getSwipeEscapeVelocity(float defaultValue)
并修改defaultValue
。
修订版 23.1.1
2015 年 11 月
- 针对 v7 recyclerview 库的变更:
-
- 修复了在执行
ItemTouchHelper
实用程序类提供,然后添加一个项目。 (问题 190500)
- 修复了在执行
- 针对 v7 preference 库的变更:
-
- 修复了 ProGuard 的使用问题。 (问题 183261)
- 针对 v17 Leanback 支持库的变更:
-
- 修复了此库中的很多内部问题。
- 针对 Design 支持库的变更:
-
- 向
NavigationView
类添加了getHeaderView
方法。 - 修复了以下对象上
FloatingActionButton
对象的透明背景问题: 搭载 Android 4.0(API 级别 15)及更低版本的设备。 (问题 183315)
- 向
修订版 23.1.0
2015 年 10 月
- 针对 v4 支持库的变更:
-
- 向
OnScrollChangedListener
“NestedScrollView
”微件。它 可让您在 X 或 Y 滚动位置发生变化时接收回调。 - 添加了
MediaButtonReceiver
类,用于转发收到的播放控件 一项管理MediaSessionCompat
类的服务。通过MediaSessionCompat
类具有 可在清单中自动查找媒体按钮接收器的构造函数。答 媒体按钮接收器是处理 播放控件。
- 向
- 针对 v7 appcompat 库的变更:
-
- 添加了 Material Design
Seekbar
和ImageButton
微件。 - 更新了
ImageView
微件以支持色调调节功能。 - 更新了
SwitchCompat
微件的外观和风格。
- 添加了 Material Design
- 针对 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); }
- 向
- 针对 v7、 v14 和 v17 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_SHOWN
和TAB_HIDDEN
常量作为新事件 对于CustomTabsCallback
的onNavigationEvent
方法 类。
- 向
修订版 23.0.1
2015 年 9 月
- v7 和 v14 Preference 支持库:
-
- 添加了 Material Design 布局和样式文件。 (问题 183376)
- 针对 v7 appcompat 库的变更:
- 针对 Design 支持库的变更:
-
- 修复了
AppBarLayout
类,因此它现在可在 轮替。 (问题 183109) - 修复了
TabLayout
类,因此现在当 。 (问题 183123)
- 修复了
- 针对 Custom Tabs 支持库的变更:
-
- 降低了
minSdkVersion
值介于 16 到 15 之间。 - 添加了生成
CustomTabsSessionToken
。
- 降低了
修订版 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 支持库:
-
- 添加了用于显示的
TextInputLayout
将EditText
提示和错误文本作为浮动标签显示。 - 添加了
FloatingActionButton
,用于实现 在界面上进行的主要操作 悬浮操作按钮,支持默认或最小尺寸。 - 添加了
Snackbar
,用于提供轻量级 反馈信息,并在动画信息条中显示可选操作。 - 添加了
TabLayout
,用于实现修复 可滚动 标签页 集成ViewPager
。 - 添加了
NavigationView
,用于实现 抽屉式导航栏 包括通过 菜单资源。 - 添加了
CoordinatorLayout
(通用) 用于构建 同级视图,并可通过CoordinatorLayout.Behavior
。我们设计了许多 库组件依赖于作为CoordinatorLayout
。 - 添加了
AppBarLayout
,这是一个用于Toolbar
以及其他视图(例如TabLayout
) 通过滚动离开屏幕来响应滚动事件,在回应中变得可见 向下滚动,或者先合拢/展开,然后滚动离开/滚动到屏幕。 - 添加了
CollapsingToolbarLayout
,用于控制Toolbar
如何收起。工具栏可通过以下方式收起: 在组件折叠时将组件固定在屏幕顶部ImageView
等组件的视差滚动, 或在视图部分收起时添加内容纱罩颜色。
- 添加了用于显示的
- 针对 v4 支持库的变更:
-
- 添加了
getContentChangeTypes()
和setContentChangeTypes()
方法和相关更改类型 添加到AccessibilityEventCompat
类。 - 添加了
getActiveQueueItemId()
,getCustomActions()
, 和getExtras()
具有相关状态字段的方法,PlaybackStateCompat
类: 从队列中获取自定义操作。 - 添加了
addCustomAction()
,setActiveQueueItemId()
, 和setExtras()
方法添加到 用于添加的PlaybackStateCompat.Builder
类 自定义操作。 - 添加了
fromCustomAction()
和getCustomAction()
方法 添加到PlaybackStateCompat.CustomAction
类 从队列中获取自定义操作。 - 添加了
isAttachedToWindow()
,offsetLeftAndRight()
和offsetTopAndBottom()
方法添加到ViewCompat
类,以便使用视图。 - 添加了
addOnPageChangeListener()
,clearOnPageChangeListeners()
和removeOnPageChangeListener()
向ViewPager
类添加用于响应页面的方法 更改。弃用了
ViewPager.setOnPageChangeListener()
方法结合使用。 - 添加了
notifySubtreeAccessibilityStateChanged()
方法 用于通知视图父级的ViewParentCompat
类 其某个后代的可访问性状态已更改。 - 添加了
translationZ()
,translationZBy()
,z()
和zBy()
ViewPropertyAnimatorCompat
类 添加动画。
- 添加了
- 针对 v7 appcompat 库的变更:
-
- 添加了
onWindowStartingSupportActionMode()
方法添加到AppCompatActivity
,AppCompatCallback
和 用于处理操作模式的AppCompatDialog
类 从当前窗口启动 - 添加了
isHandleNativeActionModesEnabled()
和setHandleNativeActionModesEnabled()
方法添加到 用于处理原生操作模式的AppCompatDelegate
类。
- 添加了
有关支持库变更的完整列表,请参阅 支持 Library API 差异报告。
修订版 22.1.0
2015 年 4 月
- 针对 Annotations 库的变更:
-
- 添加了 Annotations 库,可支持增强型代码检查。 注解将作为附加到变量、参数 和返回值,以检查方法返回值、传递的参数和局部变量 变量和字段。
- 针对 v4 支持库的变更:
-
- 添加了
ColorUtils
类 提供了一组与颜色相关的实用方法。 - 添加了
unwrap()
和wrap()
方法添加到DrawableCompat
类,让您可以使用setTint()
,setTintList()
, 和setTintMode()
在所有 API 级别为 4 或更高的设备上。 - 将
TraceCompat
类添加到了 将跟踪事件写入系统跟踪缓冲区,然后便可对其进行收集和 使用 Systrace 工具直观呈现数据。 - 添加了
CircularIntArray
类 创建循环整数数组数据结构。 - 添加了
clear()
,removeFromStart()
, 和removeFromEnd()
方法添加到CircularArray
类。此外,还更改了 设为非最终方法。 - 添加了
InputDeviceCompat
辅助类来访问InputDeviceCompat
类。 - 添加了
LayoutInflaterCompat
类作为辅助类来访问LayoutInflaterCompat
类 并添加了LayoutInflaterFactory
接口。 - 添加了类、方法和接口,以支持嵌套滚动。
- 添加了
NestedScrollingChildHelper
和NestedScrollingParentHelper
帮助程序类实现嵌套滚动父视图和子视图。 - 添加了
NestedScrollingChild
由View
子类实现的接口。 - 添加了
NestedScrollingParent
和ScrollingView
接口来支持 滚动操作并提供与滚动相关的 API。 - 添加了
向
ViewGroupCompat
添加getNestedScrollAxes()
方法 类。 - 向
ViewParentCompat
类添加了方法,以 支持嵌套滚动。 - 添加了
NestedScrollView
类,以支持在新版和旧版 Android。
- 添加了
- 向
MotionEventCompat
添加了方法和常量 用于获取轴值和事件来源的类。 - 更新了
AccessibilityNodeInfoCompat
类来添加针对错误、内容失效和标签的方法。 - 为动画添加了以下插值类:
FastOutLinearInInterpolator
,FastOutSlowInInterpolator
,LinearOutSlowInInterpolator
,LinearOutSlowInInterpolator
和PathInterpolatorCompat
。 - 添加了
Space
类,用于在 通用布局中的组件此类在 gridlayout 库中已废弃。 - 添加了
TextViewCompat
类,用于访问 功能。TextView
- 向
onPull()
方法(在EdgeEffectCompat
类。
- 添加了
- 针对 v7 appcompat 库的变更:
-
- 为 appcompat 微件添加了色调支持,包括
AppCompatAutoCompleteTextView
,AppCompatButton
,AppCompatCheckBox
,AppCompatCheckedTextView
,AppCompatEditText
,AppCompatMultiAutoCompleteTextView
,AppCompatRadioButton
,AppCompatRatingBar
,AppCompatSpinner
和AppCompatTextView
。 - 将
AppCompatActivity
更新为了基础版本 类。此课程 取代了已废弃的ActionBarActivity
。 - 添加了
AppCompatCallback
接口 使 AppCompat 能够执行回调。 - 添加了
AppCompatDelegate
抽象类 您可以使用代理将 AppCompat 的支持扩展到任何 activity。 - 添加了
AppCompatDialog
类 作为 AppCompat 主题对话框的基类。 - 添加了旋转图标样式
AlertDialog
和AlertDialog.Builder
类,用于提供 AppCompat 主题为AlertDialog
。 - 添加了
Palette.Builder
类 用于生成Palette
个实例。- 添加了
from(Bitmap)
添加到Palette
类,以 我们使用返回的Palette.Builder
实例。 - 废弃了
Palette.generate()
和Palette.generateAsync()
方法。
- 添加了
- 添加了
向
GridLayout.Spec
添加getAbsoluteAlignment()
方法 类。 - 废弃了使用
app:theme
进行样式设置Toolbar
。您现在可以使用android:theme
,适用于所有 API 级别 7 及更高级别设备上的工具栏,以及android:theme
支持 API 级别 11 及更高级别的设备上的所有 widget。
- 为 appcompat 微件添加了色调支持,包括
- 针对 v17 leanback 库的变更:
-
- 添加了
GuidedStepFragment
,GuidanceStylist
和GuidedActionsStylist
- 支持 创建多步骤决策流。
- 添加了
- 针对 v7 recyclerview 库的变更:
-
- 添加了
SortedList
类,用于显示以下位置中的项: 列表顺序并提供列表更改通知。 - 添加了
SortedListAdapterCallback
类 可以将已排序的列表绑定到RecyclerView.Adapter
类。
- 添加了
- 针对 v8 renderscript 库的变更:
-
- 为以下 API 添加了
ScriptIntrinsicHistogram
类: 用作直方图过滤器。 - 为以下 API 添加了
ScriptIntrinsicResize
类: 调整 2D 分配的大小
- 为以下 API 添加了
- 针对 v4 支持库的变更:
-
- 更新了
getDrawable()
方法,以便为指定的特定资源 ID 返回可绘制对象对象。 屏幕密度和主题 - 添加了
setImportantForAccessibility()
方法,以便您指示是否应触发视图 无障碍功能事件 - 添加了
getStatusBarBackgroundDrawable()
方法,以便您获取状态栏背景 可绘制对象。 - 向
NotificationCompat.CarExtender.UnreadConversation
类,以便 Android Auto 即时通讯应用可以检索其他通知数据。 - 添加了
getProgressCircleDiameter()
方法,可返回圆形布局的直径。 - 更改了默认
DrawerLayout
状态栏颜色设置为colorPrimaryDark
。
- 更新了
- 针对 v7 appcompat 库的变更:
- 针对 v17 leanback 库的变更:
-
- 添加了
getRecycledPoolSize()
和setRecycledPoolSize()
方法,以允许自定义的回收池大小。 - 将
WRAP_CONTENT
属性添加到了 的布局宽度设置,以支持标题图标的封装内容。 - 在 XML 中将
R.transition
定义为: 改进过渡更新。 - 支持从右到左的布局。
- 向
PlaybackOverlayFragment
类。 - 向
BrowseFragment
类和DetailsFragment
类。 - 添加了
replace()
方法,可替换对象适配器数组中的项。
- 添加了
- 针对 v7 mediarouter 库的变更:
-
- 更新了 Google Cast 图标,以便使用 Material Design 样式。
- 更新了
MediaRouter
对话框中使用的所有图标,以便使用 Material Design 样式。
- 针对 v7 recyclerview 库的变更:
-
- 添加了
getlayoutPosition()
和getadapterPosition()
方法添加到RecyclerView
类。 - 废弃了
classgetChildPosition()
和findViewHolderForPosition()
方法(在RecyclerView
类。 - 弃用了
getPosition()
RecyclerView.ViewHolder
类。 - 弃用了
getViewPosition()
RecyclerView.LayoutParams
类。
- 添加了
- 针对 v4 支持库的变更:
- 针对 v4 支持库的变更:
-
- 添加日期:
NotificationCompat.CarExtender
类来支持 Android Auto 通知扩展。
- 添加日期:
- 针对 v7 appcompat 库的变更:
-
- 添加了
PopupMenu
构造函数,以支持新的弹出式窗口 菜单。 - 在
Toolbar
中添加了对收起图标说明的支持 类。 - 更新了
SearchView
widget,以支持显示commitIcon
。 - 删除了
buttonGravity
属性(从Toolbar
类。
- 添加了
- 针对 v7 cardview 库的变更:
-
- 已将
setCardBackgroundColor(ColorStateList)
API 添加到 支持更改CardView
的背景颜色。 - 更改了
CardView
,以便更准确地报告其 不透明度值设为TRANSLUCENT
。
- 已将
- 针对 v7 recyclerview 的更改 库:
-
- 添加了
TOUCH_SLOP_DEFAULT
和TOUCH_SLOP_PAGING
常量 添加到RecyclerView
类 来支持用于分页的触摸溢出配置。
- 添加了
- 针对 v17 leanback 库的变更:
-
- 添加了对生成 v4 代码 Fragment 的支持。
- 更改了
CardView
上的辅助文本颜色。
- 已添加 <ph type="x-smartling-placeholder"></ph> MultiDex 支持库来支持 Dalvik 可执行文件 (DEX) 。
- 针对 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 库:
-
- 添加了对构建 TV 界面的支持,包括
BrowseFragment
,DetailsFragment
和PlaybackOverlayFragment
。 如需详细了解如何使用这些界面微件, 请参阅构建 TV 播放应用。
- 添加了对构建 TV 界面的支持,包括
- 针对 v4 支持库的变更:
-
- 在以下位置添加了对 Android Wear 的扩展通知支持:
NotificationCompat.WearableExtender
,可让您 在通知中指定穿戴式设备专属功能。 - 添加了
NotificationCompat.Action.WearableExtender
, 这允许在穿戴式设备通知上添加操作。 - 添加了
NotificationManagerCompat
, 来发布正确支持穿戴式设备功能的通知。 - 添加了
RemoteInput
,以允许手持设备使用 以从穿戴式设备上显示的通知接收语音输入。 - 改进了对触摸反馈的处理,
SwipeRefreshLayout
。
- 在以下位置添加了对 Android Wear 的扩展通知支持:
- 针对 v4 支持库的变更:
-
- 添加了
SwipeRefreshLayout
类。 这让用户可以通过一个垂直方向刷新视图内容 滑动手势。 - 修复了抽屉式导航栏的无障碍功能问题。
- 添加了
- 针对 v7 appcompat 库的变更:
-
- 修复了操作栏的背景问题。
- 针对 v4 支持库的变更:
-
- 通过添加异步脚本改进了
PrintHelper
, 打印的处理。 - 修复了
DrawerLayout
类的近似问题:addChildrenForAccessibility()
方法。 - 修复了
ActionBarDrawerToggle
中的幻灯片可绘制镜像。 - 修复了从集合迭代器中移除项时出现的差一问题。
- 通过添加异步脚本改进了
- 针对 v7 mediarouter 库的变更:
-
- 通过在
MediaRouteProvider.ProviderMetadata
中使用完整的组件名称改进了路由识别。 - 已将
MediaRouteChooserDialog
更新为隐藏已停用的按钮 路由。
- 通过在
- 针对 v8 renderscript 库的变更
-
- 为 RenderScript 形式转换层添加了错误传播。
- 针对 v4 支持库的变更:
-
- 通过
getObbDirs()
,getExternalFilesDirs()
,getExternalCacheDirs()
, 和getStorageState()
。 这些辅助方法始终在搭载 Android 的设备上返回单个文件对象 4.3(API 级别 18)及更低版本。在 Android 4.4(API 级别 19)及更高版本上运行时, 这些方法可能会返回多个文件对象。 - 添加了
PrintHelper
类,该类可与 打印 API,以最少的代码打印图像。 - 为弹出菜单添加了拖动即打开界面支持。如需了解详情,请参阅
PopupMenuCompat
和ListPopupWindowCompat
。 - 通过添加
findFocus()
方法在AccessibilityNodeProviderCompat
和getLiveRegion()
方法AccessibilityNodeInfoCompat
。 - 为以下对象添加了辅助类
ScaleGestureDetectorCompat
: 以及新的缩放手势方法。 - 修复了以下路径中的
ActionBarDrawerToggle
存在的问题: 从右到左显示语言。 - 修改了
AutoScrollHelper
选项以使用 触摸事件或允许它们传递到其他视图。
- 通过
- 针对 v7 mediarouter 库的变更:
-
- 添加了对媒体播放队列、设置 HTTP 标头值和媒体的支持 。
- 添加了明确的启动、获取和结束会话操作,用于明确管理媒体 播放会话。
- 针对 v4 支持库的变更:
-
- 界面
<ph type="x-smartling-placeholder">
- </ph>
- 添加了
BidiFormatter
进行处理 用于组合从右到左和从左到右格式文本的文本字符串。 - 修改了
ViewPager
,以更好地处理 在初始布局处理中,分页器的测量宽度为零。 - 修改时间:
DrawerLayout
和SlidingPaneLayout
,不针对 衡量。
- 添加了
- 无障碍
<ph type="x-smartling-placeholder">
- </ph>
- 添加了
ExploreByTouchHelper
以简化 自定义视图无障碍功能的实现。 - 修复了
ViewPager
不正确的问题 正在填充TYPE_VIEW_SCROLLED
无障碍事件。 - 修复了在下列情况下,
ViewPager
中的 null 指针异常: 来填充无障碍事件 - 简化版
AccessibilityNodeInfoCompat
方法是将CharSequence
输入更改为String
对象。 - 废弃了
AccessibilityRecordCompat
使用Object
作为输入的构造函数。
- 添加了
- 媒体
<ph type="x-smartling-placeholder">
- </ph>
- 添加了
TransportMediator
辅助类以进行管理 媒体传输控制,例如播放、暂停、跳过和其他媒体操作。 - 添加了
DisplayManagerCompat
以进行管理 输出到一个或多个设备显示屏。
- 添加了
- 其他变更
<ph type="x-smartling-placeholder">
- </ph>
- 为以下 API 添加了
WakefulBroadcastReceiver
辅助类: 实现检测设备唤醒事件并将工作移交的常见模式 发送到Service
,同时确保设备不会恢复到 进入休眠状态。 - 新增了两个 API
commitContentChanged()
和rollbackContentChanged()
,到AsyncTaskLoader
到 帮助处理后台更新,以应对数据更改随后被取消。
- 为以下 API 添加了
- 界面
<ph type="x-smartling-placeholder">
- 新增的 v7 appcompat 库:
- 新增的 v7 mediarouter 库:
-
添加了新的 mediarouter 库,可为 Google Cast 开发者预览版提供支持。 v7 mediarouter 库 API 提供了一种用于控制 从当前设备传送到外部屏幕的媒体渠道和流, 扬声器和其他目标设备,可向后兼容至 Android 2.1 (API 级别 7)。请参阅 V7 mediarouter 库。
Support 中引入的 v7 mediarouter 库 API 库 r18 可能会在以后的 Support 版本中发生变化 影视库。目前,我们建议仅在连接 使用 Google Cast 开发者预览版。
- 针对 v4 支持库的变更:
-
- 添加了
DrawerLayout
,用于创建 导航 可从窗口边缘拉入的抽屉式导航栏。 - 添加了用于创建链接的
SlidingPaneLayout
widget 可适当适应各种屏幕尺寸的摘要视图和详情视图。 - 添加了
ActionBarDrawerToggle
作为固定方法 将DrawerLayout
和ActionBar
的函数组合在一起。 - 添加了
ViewDragHelper
作为新的通用组件 用于在父视图中拖动视图。 - 添加了
ScrollerCompat
,可提供Scroller
和OverScroller
兼容性支持。 - 添加了
FileProvider
,以允许分享私享视频 文件。 - 更新了
ViewPager
,以便在发生以下情况时抛出异常: 修改关联的PagerAdapter
类时未使用 对notifyDataSetChanged()
的调用。 - 修复了
ViewPager
子级绘图排序的问题 订单。 - 修复了
GestureDetectorCompat
,以分派缺失问题onSingleTapConfirmed(MotionEvent)
次通话 。
- 添加了
- 新增的 v7 gridlayout 库:
-
- 添加了
GridLayout
,以便为GridLayout
布局对象。 - 添加了
android.support.v7.widget.Space
,可用于创建空白区域 放置在GridLayout
布局对象中。
- 添加了
- 针对 v4 支持库的变更:
-
- 改进了
ViewPager
的互动行为。 - 修复了可能导致
ViewPager
选择 出错了。 - 修复了
removeView()
方法的使用问题 在布局ViewPager
时抛出该异常。 - 修复了
SearchViewCompat
使用 用于关闭的返回按钮不会清除搜索文字。此修复仅适用于 主机 API 级别 14 及更高级别。
- 改进了
- 针对 v4 支持库的变更:
-
- 界面
<ph type="x-smartling-placeholder">
- </ph>
- 添加了对嵌套
Fragment
类的支持。 - 添加了对
FragmentManager
调试的改进。 - 修复了
FragmentTabHost
中 fragment 存在的问题 和标签页互动可能会导致ListView
状态丢失。 - 修复了以下位置中用户可见提示的问题:
FragmentStatePagerAdapter
。 - 添加日期:
PageTransformer
ViewPager
的接口,以允许应用 为滚动提供自定义转换行为。 - 为
TaskStackBuilder
添加了新功能并修复了一些问题 与当前版本相比。 - 修复了
PagerTitleStrip
,以正确跟踪 目前正在使用PagerAdapter
。 - 修复了
PagerTitleStrip
。 - 修复了
PagerTabStrip
以正确遵循内边距 。
- 添加了对嵌套
- 无障碍
<ph type="x-smartling-placeholder">
- </ph>
- 在
AccessibilityEventCompat
。 - 在
ViewCompat
。 - 向
ViewCompat
添加了对performAccessibilityAction()
方法的支持。
- 在
- 通过
GestureDetectorCompat
添加了对手势的支持。 - 新增了对使用新的
AtomicFile
类。 - 在
make
IntentCompat
。 - 在
trimToSize()
LruCache
实用程序类。 - 更新了
ConnectivityManagerCompat
以获取 NetworkInfo 来源:CONNECTIVITY_ACTION
广播。
- 界面
<ph type="x-smartling-placeholder">
- 针对 v4 支持库的变更:
-
- 添加了对 Android 4.1(API 级别 16)中引入的通知功能的支持,
对
NotificationCompat
的补充。
- 添加了对 Android 4.1(API 级别 16)中引入的通知功能的支持,
对
- 针对 v4 支持库的变更:
-
- 界面支持
<ph type="x-smartling-placeholder">
- </ph>
- 添加了
PagerTabStrip
支持,并提供增强的PagerTitleStrip
以外的功能。 - 修复了
PagerTitleStrip
和PagerTabStrip
,包括setAllCaps
选项、标题对齐方式 外观改进、最小宽度限制和触摸导航问题。 - 添加了对
ViewPager
页面边线的支持, 可帮助ViewPager
类为包含以下内容的内容提供分页支持: 较大的水平滚动范围,例如地图。 - 修复了
ViewPager
的众多 bug,包括大小 和数据集更改问题、页面定位、用户互动、滚动跟踪和键盘 导航问题 - 修复了
Fragment
的许多 bug,包括 处理onActivityResult()
时, 目标 fragment 已不存在;将选择事件分派给不可见的 fragment;改进了FragmentTransaction.replace()
行为 并针对要移出视图的 fragment 添加了更好的状态处理功能。 - 在
ViewCompat
中添加了对postOnAnimation()
方法的支持。 - 更新了
NavUtils
,以使用 Android 4.1(API 级别 16) 向上导航功能(如果可用)。
- 添加了
- 无障碍
<ph type="x-smartling-placeholder">
- </ph>
- 更新了无障碍功能支持类(包括
AccessibilityNodeInfoCompat
),以遵循在 Android 中进行的修复 4.1(API 级别 16)。 - 在
ViewPager
中添加了对无障碍功能滚动操作的支持。
- 更新了无障碍功能支持类(包括
- 常规改进
<ph type="x-smartling-placeholder">
- </ph>
- 更新了
TaskStackBuilder
,以反映以下 API 中的 API 更改: Android 4.1(API 级别 16)。 - 增强了
TaskStackBuilder
以允许使用它 。 - 添加了对
EXTRA_HTML_TEXT
的支持 至ShareCompat
。 - 更新了
NotificationCompat.Builder
以支持setNumber()
方法。 - 在
ConnectivityManagerCompat
中添加了对isActiveNetworkMetered()
方法。
- 更新了
- 界面支持
<ph type="x-smartling-placeholder">
- 针对 v4 支持库的变更:
-
- 修复了生成的
PendingIntent
对象的 intent 标志 上传者:TaskStackBuilder
。 - 从 gridlayout 库项目中移除了未使用的属性,以确保 库可以使用 API 级别 7 及更高级别构建。
- 为 gridlayout 添加了
.classpath
和.project
文件 库项目。
- 修复了生成的
- 针对 v4 支持库的变更:
-
- 添加了
ShareCompat
,它提供了辅助类 用于发送和接收社交分享应用的内容,包括 将共享的数据归因于源应用。该类还提供了与 Android 4.0 中的新ShareActionProvider
。 - 添加了
NavUtils
和TaskStackBuilder
,以支持 导航的 Android 设计指南。这些 新增了一种跨版本实现操作栏的“向上”按钮的方法。 有关此模式的示例实现,请参阅 (<em><sdk></em>/samples/<em><platform></em>/AppNavigation
)。 - 添加了
NotificationCompat.Builder
,以提供 Android 3.0 的Notification.Builder
辅助程序类的兼容性实现 创建标准化系统通知。
- 添加了
- 针对 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">
- </ph>
- 更新了
AccessibilityDelegateCompat
方法 返回空列表而不是 null。 - 新增了 v4 示例所需的 API。
- 更新了
- 对 ViewPager 的更改:
<ph type="x-smartling-placeholder">
- 针对 v4 支持库的变更:
-
- 对无障碍功能 API 的支持:
<ph type="x-smartling-placeholder">
- </ph>
- 添加日期:
AccessibilityDelegateCompat
以支持View.AccessibilityDelegate
。 - 添加日期:
AccessibilityEventCompat
以支持AccessibilityEvent
。 - 添加日期:
AccessibilityManagerCompat
以支持AccessibilityManager
。 - 添加日期:
AccessibilityNodeInfoCompat
以支持AccessibilityNodeInfo
。 - 添加日期:
AccessibilityRecordCompat
以支持AccessibilityRecord
。 - 添加日期:
AccessibilityServiceInfoCompat
以支持AccessibilityServiceInfo
。 - 添加日期:
ViewGroupCompat
以支持ViewGroup
中的无障碍功能。 - 修改时间:
ViewCompat
以支持View
中的无障碍功能。
- 添加日期:
- 对 ViewPager 的更改:
<ph type="x-smartling-placeholder">
- </ph>
- 添加了对页面之间外边距的支持。
可以提供可选的
Drawable
来填充外边距 - 添加了对
EdgeEffect
的支持。 - 添加了对键盘导航的支持
- 添加了对控制两侧保留的页面数量的支持 。
- 改进了轻触物理特性。
- 修复了界面行为的问题。
- 添加了对页面之间外边距的支持。
可以提供可选的
- 对无障碍功能 API 的支持:
<ph type="x-smartling-placeholder">
- 针对 v4 支持库的变更:
-
- 已将
EdgeEffectCompat
添加到 支持EdgeEffect
。 - 添加了
LocalBroadcastManager
,以便应用轻松 在单个应用内注册和接收 intent,而无需 并在全球范围内进行广播 - 在
ViewCompat
中添加了对检查和设置滚动行为的支持View
模式。 - Fragment API 的变更:
<ph type="x-smartling-placeholder">
- </ph>
- 新增了 API,可控制新菜单的可见性。
- 添加了自定义动画 API。
- 在
FragmentActivity
中添加了 API,以保留自定义、 非配置实例数据 - 修复了各种问题。
- 修复了导致以下项目出现问题的
Loader
bug: 在 Froyo 及更早版本上运行时取消AsyncTask
平台。支持 代码现在使用自己的AsyncTask
版本,以保持与 行为
- 已将
- 针对 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 之间的连接。FragmentStatePagerAdapter
:PagerAdapter
的扩展,适用于 在使用库对Fragment.SavedState
的支持的 fragment 之间翻转。
- 添加对
- 新增的 v13 支持库:
-
- 包含
FragmentPagerAdapter
和FragmentStatePagerAdapter
以支持水平分页。这些与添加到 v4 支持库中的 API 完全相同,但依赖于 Android 3.2 中的其他平台组件。如果您是针对 Android 3.2 及更高版本(v4 库中的所有其他 API 已在 API 级别中提供) 13)。
- 包含
- 针对 v4 库的变更:
-
- 支持 Fragment 动画
- 解决“
Fragment.onActivityResult()
”问题 错误
修订版 22
2015 年 3 月
修订版 21.0.3
2014 年 12 月
修订版 21.0.2
2014 年 11 月
修订版 21.0.1
2014 年 11 月
修订版 21
2014 年 10 月
修订版 20
2014 年 7 月
修订版 19.1.0
2014 年 3 月
修订版 19.0.1
2013 年 12 月
修订版 19
2013 年 10 月
修订版 18
2013 年 7 月
修订版 13
2013 年 5 月
修订版 12
2013 年 2 月
修订版 11
2012 年 11 月
修订版 10
2012 年 8 月
修订版 9
2012 年 6 月
修订版 8
2012 年 4 月
修订版 7
2012 年 3 月
修订版 6
2011 年 12 月
注意:支持库 API 的参考现在可通过
框架引用,例如:android.support.v4.app
。
修订版 5
2011 年 12 月
修订版 4
2011 年 10 月
修订版 3
2011 年 7 月
修订版 2
2011 年 5 月
修订版 1
2011 年 3 月
v4 库的初始版本。