Appcompat
最新更新 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 5 月 29 日 | 1.7.0 | - | - | - |
声明依赖项
要添加对 Appcompat 的依赖项,必须将 Google Maven 存储库添加到您的项目中。阅读Google 的 Maven 存储库以了解更多信息。
在应用或模块的build.gradle
文件中添加所需构件的依赖项
Groovy
dependencies { def appcompat_version = "1.7.0" implementation "androidx.appcompat:appcompat:$appcompat_version" // For loading and tinting drawables on older versions of the platform implementation "androidx.appcompat:appcompat-resources:$appcompat_version" }
Kotlin
dependencies { val appcompat_version = "1.7.0" implementation("androidx.appcompat:appcompat:$appcompat_version") // For loading and tinting drawables on older versions of the platform implementation("androidx.appcompat:appcompat-resources:$appcompat_version") }
有关依赖项的更多信息,请参阅添加构建依赖项。
反馈
您的反馈有助于使 Jetpack 变得更好。如果您发现新的问题或有改进此库的想法,请告诉我们。在创建新问题之前,请查看此库中现有问题。您可以通过点击星形按钮为现有问题添加您的投票。
有关更多信息,请参阅问题跟踪器文档。
版本 1.7
版本 1.7.0
2024 年 5 月 29 日
androidx.appcompat:appcompat:1.7.0
和 androidx.appcompat:appcompat-resources:1.7.0
已发布。版本 1.7.0 包含这些提交。
自 1.6.0 以来重要的更改
AppCompatDialog
现在通过ViewTree
API 正确地在对话框的装饰视图上设置了LifecycleOwner
、SavedStateRegistryOwner
和OnBackPressedDispatcherOwner
,修复了在AppCompatDialog
中托管ComposeView
时的错误。AppCompatActivity
现在设置了ViewTreeOnBackPressedDispatcherOwner
,以便可以从视图中检索调度程序。- 显著提高了
SupportMenuInflater
的性能。 Locale.getDefault()
现在在冷启动后返回系统区域设置。LinearLayoutCompat
现在保留边距布局参数。
依赖项更新
AppCompat
现在依赖于 Activity 1.7.0。AppCompat
现在依赖于 Fragment 版本 1.5.4。
版本 1.7.0-rc01
2024年5月14日
androidx.appcompat:appcompat:1.7.0-rc01
和 androidx.appcompat:appcompat-resources:1.7.0-rc01
已发布。版本 1.7.0-rc01 包含 这些提交。
版本 1.7.0-beta01
2024年5月1日
androidx.appcompat:appcompat:1.7.0-beta01
和 androidx.appcompat:appcompat-resources:1.7.0-beta01
已发布。版本 1.7.0-beta01 包含 这些提交。
版本 1.7.0-alpha03
2023年7月26日
androidx.appcompat:appcompat:1.7.0-alpha03
和 androidx.appcompat:appcompat-resources:1.7.0-alpha03
已发布。版本 1.7.0-alpha03 包含这些提交。
新功能
支持在非 Activity 上下文中获取每个应用的区域设置 (I58e753)。此功能添加了四个新的 API
LocaleManagerCompat.getApplicationLocales()
:供开发者在 Activity 作用域外获取每个应用的区域设置。ContextCompat.getString()
:根据每个应用的区域设置返回本地化字符串。ContextCompat.getContextForLanguage()
:此方法返回的上下文将遵循每个应用的区域设置。ConfigurationCompat.setLocales()
:对于上述 API,设置配置的区域设置。
其他 API 更改
- 在
TextView
兼容类中添加了setLineHeight(unit, lineHeight)
(Ia9fa9) - 在
TextView
兼容类中添加了setLineHeight(unit, lineHeight)
(Ib2ee1) - 在
TextView
兼容类中添加了setLineHeight(unit, lineHeight)
(I15716)
错误修复
AppCompatDialog
现在通过ViewTree
API 正确地在对话框的装饰视图上设置了LifecycleOwner
、SavedStateRegistryOwner
和OnBackPressedDispatcherOwner
,修复了在AppCompatDialog
中托管ComposeView
时的错误。AppCompat
现在依赖于 Activity 1.7.0。(Ib28ab,b/261314581)- 显著提高了
SupportMenuInflater
的性能 (I0b087)
版本 1.7.0-alpha02
2023年2月8日
androidx.appcompat:appcompat:1.7.0-alpha02
和 androidx.appcompat:appcompat-resources:1.7.0-alpha02
已发布。版本 1.7.0-alpha02 包含这些提交。
错误修复
- 修复了
AppCompatDelegate.getLocaleManagerForApplication()
中的内存泄漏 (44b57fd) AppCompat
现在依赖于 Fragment 版本 1.5.4 (I54dcd)
版本 1.7.0-alpha01
2022年10月5日
androidx.appcompat:appcompat:1.7.0-alpha01
和 androidx.appcompat:appcompat-resources:1.7.0-alpha01
已发布。版本 1.7.0-alpha01 包含这些提交。
错误修复
AppCompatActivity
现在设置了ViewTreeOnBackPressedDispatcherOwner
,以便可以从视图中检索调度程序。(I1a115,b/235416503)Locale.getDefault()
现在在冷启动后返回系统区域设置 (I6a94b)LinearLayoutCompat
现在保留边距布局参数 (Id2af4)
版本 1.6.1
版本 1.6.1
2023年2月8日
androidx.appcompat:appcompat:1.6.1
和 androidx.appcompat:appcompat-resources:1.6.1
已发布。版本 1.6.1 包含这些提交。
错误修复
- 修复了
AppCompatDelegate.getLocaleManagerForApplication()
中的内存泄漏 (44b57fd)
版本 1.6.0
版本 1.6.0
2023年1月11日
androidx.appcompat:appcompat:1.6.0
和 androidx.appcompat:appcompat-resources:1.6.0
已发布。版本 1.6.0 包含这些提交。
自 1.5.0 以来的重要更改
- 添加了对自定义应用程序区域设置的支持。有关更多信息,请参阅
AppCompatDelegate.setApplicationLocales(LocaleListCompat)
。为 Android 13 中提供的新 每语言首选项 API 提供向后兼容性。 - 可空性更新以与 Android 13 (Tiramisu,API 级别 33) SDK 保持一致。
- 将
DrawableWrapper
、DrawableContainer
和StateListDrawable
兼容类添加到公共 API 表面
版本 1.6.0-rc01
2022年9月7日
androidx.appcompat:appcompat:1.6.0-rc01
和 androidx.appcompat:appcompat-resources:1.6.0-rc01
已发布。版本 1.6.0-rc01 包含这些提交。
错误修复
AppCompatActivity
现在设置了ViewTreeOnBackPressedDispatcherOwner
,以便可以从视图中检索调度程序。(I1a115,b/235416503)- 恢复了一个错误修复,该修复覆盖了传递给
onConfigurationChanged
的配置,这导致了通过onConfigurationChanged
注入自己的自定义配置的测试出现问题。
版本 1.6.0-beta01
2022年8月10日
androidx.appcompat:appcompat:1.6.0-beta01
和 androidx.appcompat:appcompat-resources:1.6.0-beta01
已发布。版本 1.6.0-beta01 包含这些提交。
API 更改
- 将
DrawableWrapper
、DrawableContainer
和StateListDrawable
兼容类移动到公共 API。(I37f3e,b/227789566) - 引入了用于异步布局 inflator 的新工厂。(Ia657b)
错误修复
Toolbar
现在将在显示菜单之前调用onPrepareMenu()
,而不是在创建菜单时无条件地调用。(I2a58d,b/232206677)AppCompat
现在显式地依赖于Lifecycle
2.5.1
和SavedState
1.2.0
。(I7e3e2)- 向
AppCompatDelegate
和AppCompat
提供的 Toolbar 实现添加了对回退调用回调的支持。(I24062) - 完成
AppCompat
API 以用于 1.5.0-beta01 (I2a43d,b/236866227) - 完成
AppCompat
API 以用于 1.5.0-beta01 (I2a43d,b/236866227)
版本 1.6.0-alpha05
2022年6月15日
androidx.appcompat:appcompat:1.6.0-alpha05
和 androidx.appcompat:appcompat-resources:1.6.0-alpha05
已发布。版本 1.6.0-alpha05 在私有的预发布分支中开发,没有公开提交。
API 更改
- 可空性更新以与 Tiramisu Beta 3 SDK 中最终确定的 API 表面保持一致
minCompileSdk
现在为 33,以与 Tiramisu Beta 3 SDK 保持一致
版本 1.6.0-alpha04
2022年5月18日
androidx.appcompat:appcompat:1.6.0-alpha04
和 androidx.appcompat:appcompat-resources:1.6.0-alpha04
已发布。此库针对私有的预发布分支开发,因此没有可用的提交日志。
API 更改
- 添加一个 API 来覆盖 SwitchCompat 宽度限制,以供 MDC-Android 使用
错误修复
- 在 attachBaseConfig 外部配置更改时避免托管配置
版本 1.6.0-alpha03
2022年4月27日
androidx.appcompat:appcompat:1.6.0-alpha03
和 androidx.appcompat:appcompat-resources:1.6.0-alpha03
已发布。
此版本需要 Android 13 Beta 1 才能编译,并且不能保证与未来的开发者预览版在运行时兼容。
新功能
- 通过
AppCompatDelegate.setApplicationLocales()
支持应用范围内的自定义语言选择。在 API 33 及更高版本上委派给平台实现。
版本 1.6.0-alpha01
2022年2月23日
androidx.appcompat:appcompat:1.6.0-alpha01
和 androidx.appcompat:appcompat-resources:1.6.0-alpha01
已发布。版本 1.6.0-alpha01 是从内部分支构建的,没有公开可见的提交。
此版本需要 Android Tiramisu DP1 才能编译,并且不能保证与未来的开发者预览版在运行时兼容。
新功能
- 添加了对自定义应用程序区域设置的支持。有关更多信息,请参阅
AppCompatDelegate.setApplicationLocales(LocaleListCompat)
。为 Android 13 中提供的新 每语言首选项 API 提供向后兼容性。
版本 1.5.1
版本 1.5.1
2022年9月7日
androidx.appcompat:appcompat:1.5.1
和 androidx.appcompat:appcompat-resources:1.5.1
已发布。版本 1.5.1 包含这些提交。
依赖项更新
AppCompat
现在显式地依赖于 Lifecycle2.5.1
和 SavedState1.2.0
。(I7e3e2)
版本 1.5.0
版本 1.5.0
2022年8月10日
androidx.appcompat:appcompat:1.5.0
和 androidx.appcompat:appcompat-resources:1.5.0
已发布。版本 1.5.0 包含这些提交。
自 1.4.0 以来的重要更改
- 此稳定版本包括对夜间模式稳定性的改进、错误修复和对 AppCompat 支持的文本小部件的复合可绘制对象着色支持,以及对 API 易用性的改进。有关更改的详细列表,请参阅之前的 1.5.0 系列发行说明。
版本 1.5.0-rc01
2022年7月27日
androidx.appcompat:appcompat:1.5.0-rc01
和 androidx.appcompat:appcompat-resources:1.5.0-rc01
已发布。版本 1.5.0-rc01 包含这些提交。
错误修复
- 修复了 AppCompat 的上下文包装器重用应用程序上下文的后台资源实现的问题,导致
uiMode
在应用程序上下文中被覆盖。(Idf9d5)
版本 1.5.0-beta01
2022年7月13日
androidx.appcompat:appcompat:1.5.0-beta01
和 androidx.appcompat:appcompat-resources:1.5.0-beta01
已发布。 版本 1.5.0-beta01 包含以下提交。
API 更改
- 添加一个可覆盖的标志,用于禁用默认的开关宽度调整。 (I37cb7)
- 向拇指位置 getter API 添加
@FloatRange
注解 (If524c) - 向
AnimatedStateListDrawableCompat
添加缺少的空值可感知注解 (Ieb4ec)
错误修复
- 完成
AppCompat
API 以用于 1.5.0-beta01 (I2a43d,b/236866227) - 将
ActionMenuItemView
的className
值更改为将其视为Button
(I5ee1c)
版本 1.5.0-alpha01
2022 年 4 月 6 日
androidx.appcompat:appcompat:1.5.0-alpha01
和 androidx.appcompat:appcompat-resources:1.5.0-alpha01
已发布。 版本 1.5.0-alpha01 包含以下提交。
API 更改
- 添加了一个新 API,用于向子类公开开关拇指的位置 (I9bfb4)
- 更新了空值可感知性以匹配 Tiramisu DP2 (I0cbb7)
- 向后移植了复合 drawable 着色到 TextView 派生的小部件 (Idf98c,b/165822337)
AppCompatDialog
现在扩展了ComponentDialog
以与OnBackPressedDispatcher
兼容 (Id9b91,b/217620781)SearchView.onQueryRefine()
现在具有受保护的可见性,以允许覆盖 (I6cce0,b/212882845)
错误修复
- AppCompat
Toolbar
现在调用MenuHostHelper
的onPrepareMenu()
API。 (I9b9b5,b/227376894) AppCompatEditText
、AppCompatAutoCompleteEditText
、AppCompatMultiAutoCompleteEditText
在 XML 中设置时,将不再在构造函数中重置可点击或长按可点击。 (Ic5066,b/221094907)AppCompatEditText
、AppCompatAutoCompleteTextView
和AppCompatMultiAutoCompleteTextView
在构造函数期间不会调用覆盖的setKeyListener
。 (I5c13a,b/208480173)- Appcompat 不会包装传递给
setKeyListener
的NumberKeyListener
实例,允许TextView
正确配置NumberKeyListeners
上的区域设置。 (Ibf113,b/207119921) - 修复了 AppCompat 1.4.0 中引入的所有
NumberKeyListener
子类的问题,这些子类允许输入意外字符(例如标点符号)。 (Iede7a,b/207119921)
版本 1.4.2
版本 1.4.2
2022 年 6 月 1 日
androidx.appcompat:appcompat:1.4.2
和 androidx.appcompat:appcompat-resources:1.4.2
已发布。 版本 1.4.2 包含以下提交。
错误修复
- 修复了
AppCompatDelegateImpl
在创建操作栏之前内部调用ensureSubDecor
导致的崩溃问题。 (aosp/2048349,b/226648941)
版本 1.4.1
2022 年 1 月 12 日
androidx.appcompat:appcompat:1.4.1
和 androidx.appcompat:appcompat-resources:1.4.1
已发布。 版本 1.4.1 包含以下提交。
错误修复
AppCompatEditText
、AppCompatAutoCompleteTextView
和AppCompatMultiAutoCompleteTextView
在构造函数期间不会调用覆盖的setKeyListener
。 (I5c13a,b/208480173)Emoji2
不会包装NumberKeyListener
实例,允许 textview 配置区域设置。- Appcompat 不会包装传递给
setKeyListener
的NumberKeyListener
实例,允许TextView
正确配置NumberKeyListeners
上的区域设置。 (Ibf113,b/207119921)
- Appcompat 不会包装传递给
- 修复了 appcompat 1.4.0 中引入的所有
NumberKeyListener
子类的问题,这些子类允许输入意外字符(例如标点符号)(b/207119921)。 (Iede7a,b/207119921)
版本 1.4.0
版本 1.4.0
2021 年 11 月 17 日
androidx.appcompat:appcompat:1.4.0
和 androidx.appcompat:appcompat-resources:1.4.0
已发布。 版本 1.4.0 包含以下提交。
自 1.3.0 以来重要更改
- 库现在以 Java 8 语言级别为目标
- 通过 androidx.emoji2 库默认启用可更新的表情符号支持
- 改进了 Android Studio 的布局检查器中的属性检查。 (I02d55)
- 在 AppCompat 资源加载回移植中添加了对嵌套着色资源和矢量可绘制对象的支持。但是,请注意,这意味着当启用回移植时,应用程序无法在自定义 Resources 对象上覆盖 getDrawable()。 (Ia6b03,b/176129022)
- 向后移植了 CheckedTextView 的可着色背景和复选标记。 (I8575c)
版本 1.4.0-rc01
2021 年 10 月 27 日
androidx.appcompat:appcompat:1.4.0-rc01
和 androidx.appcompat:appcompat-resources:1.4.0-rc01
已发布。 版本 1.4.0-rc01 包含以下提交。
版本 1.4.0-beta01
2021 年 9 月 29 日
androidx.appcompat:appcompat:1.4.0-beta01
和 androidx.appcompat:appcompat-resources:1.4.0-beta01
已发布。 版本 1.4.0-beta01 包含以下提交。
API 更改
- AndroidX AppCompat
Toolbar
现在是MenuHost
,并且可以管理MenuProvider
。 (I5cd95)
错误修复
- 修复了 AppCompatProgressBar 对分层列表进度条的处理。 (I6ece3,b/142004509)
- 在
AppCompatEditText
中正确保留android:digits
,这修复了 AppCompat 1.4.0-alpha03 中引入的错误 193047889。 (I4b4fc,b/193047889) - 集成了 OnReceiveContentListener SDK 和支持库 API。 (Ic6914,b/173814913)
版本 1.4.0-alpha03
2021 年 6 月 30 日
androidx.appcompat:appcompat:1.4.0-alpha03
和 androidx.appcompat:appcompat-resources:1.4.0-alpha03
已发布。 版本 1.4.0-alpha03 包含以下提交。
新功能
- 库现在以 Java 8 语言级别为目标
- 为更多 TextView 子类(
AppCompatMultiAutoCompleteTextView
、AppCompatAutoCompleteTextView
、AppCompatRadioButton
、AppCompatCheckBox
)添加了 emoji2 支持。
API 更改
- 添加了一个 API,用于配置 InputConnection 以使用 View.performReceiveContent 处理 IME 对 InputConnection.commitContent 的调用。 (I3a2ad)
- 添加了对
AppCompatMultiAutoCompleteTextView
的 EmojiCompat 支持。 (Ifece0) - 添加了对
AppCompatAutoCompleteTextView
的 EmojiCompat 支持。 (Ia1f4b) - 添加了对
AppCompatRadioButton
的 EmojiCompat 支持。 (If08af) - 添加了对
AppCompatCheckBox
的 EmojiCompat 支持。 (I2b3bc) - 允许
AppCompatEditText
中的空KeyListener
。这反转了在 1.4-alpha01 中添加到 AppCompatEditText 的非空注解,并在传递 null 时恢复了以前的行为。 (I21482,b/189559345) - 添加
PopupMenu.setForceShowIcon
以与平台 API 保持一致。 (I43bb3,b/182789798)
错误修复
- 修复了 AppCompatEditText 中的错误,该错误将重置 XML 中指定 getInputType 以删除变体。此错误是在 AppCompat 1.4.0-alpha01 中引入的。 (I9df36,b/191061070)
版本 1.4.0-alpha02
2021 年 6 月 2 日
androidx.appcompat:appcompat:1.4.0-alpha02
和 androidx.appcompat:appcompat-resources:1.4.0-alpha02
已发布。 版本 1.4.0-alpha02 包含以下提交。
API 更改
- 添加了
AppCompatDialogFragment
构造函数,该构造函数采用布局 ID。 (Icbf22,b/188119987) - 改进了布局检查器支持。 (I02d55)
- 重命名了
emoji2-views-helper
中的包为androidx.emoji2.viewsintegration
。这对 AppCompat1.4.0-alpha01
来说是一个重大更改,应用程序必须确保 AppCompat 依赖项已更新以使用新的 emoji2 版本。 (Ie8397)
错误修复
- 修复了停止的活动未从 AppCompat 检测到的夜间模式更改中接收配置更改的问题。 (I8fa8f,b/188681415)
- 修复了
AppCompatEditText
中的错误,该错误会导致视图即使在 xml 中指定android:focusable="false"
时也具有焦点(在 AppCompat1.4.0-alpha01
中引入的错误)。 (Ib9412)
版本 1.4.0-alpha01
2021 年 5 月 18 日
androidx.appcompat:appcompat:1.4.0-alpha01
和 androidx.appcompat:appcompat-resources:1.4.0-alpha01
已发布。 版本 1.4.0-alpha01 包含以下提交。
API 更改
- 将 EmojiCompat 支持集成到各种 AppCompat 小部件中。 (Id409b,If7a1a,Ic262d,Ib5f4a,I4fb3c)
- 在 AppCompat 资源加载回退中添加了对嵌套着色资源和矢量可绘制对象的支持。但是请注意,这意味着在启用回退时,应用无法在自定义 Resources 对象上覆盖
getDrawable()
。(Ia6b03,b/176129022) - 改进了布局检查器支持(I6d771)
错误修复
- 修复了在设置窗口回调后调用 setSupportActionBar 会覆盖回调的情况。(Ie43ee,b/186791590)
- 添加了一种解决方法,用于解决 SDK 29 和 30 上的一个问题,即从可绘制缓存克隆的 ColorStateListDrawable 资源在收到状态更改之前不会加载默认颜色。(Iedb4b)
- 在处理 AppCompat 支持的视图上的空自定义选择操作模式回调时避免 NPE。(I033c7,b/173435375)
依赖项更新
- 从 AppCompat
1.5.0
开始:AppCompat 现在依赖于 Fragment Fragment1.3.4
。(I13089) - 从 AppCompat
1.5.0
开始:AppCompat 现在依赖于 Activity1.2.3
。(I815b7) - 从 AppCompat
1.5.0
开始:AppCompat 现在依赖于 Lifecycle2.3.1
。(Ia75a1)
外部贡献
- 为
CheckedTextView
回退可着色背景和复选标记(I8575c)
版本 1.3.1
版本 1.3.1
2021 年 7 月 21 日
androidx.appcompat:appcompat:1.3.1
和 androidx.appcompat:appcompat-resources:1.3.1
已发布。版本 1.3.1 包含这些提交。
依赖项更新
- AppCompat 现在依赖于 Activity
1.2.4
和 Fragment1.3.6
,使这些版本中的修复在使用 AppCompat1.3.1
时默认包含。(I8fbec)
版本 1.3.0
版本 1.3.0
2021 年 5 月 18 日
androidx.appcompat:appcompat:1.3.0
和 androidx.appcompat:appcompat-resources:1.3.0
已发布。版本 1.3.0 包含这些提交。
自 1.2.0 以来的重要更改
- 修复了在 Lollipop 之前的设备上跨
<include>
d 布局传播android:theme
属性的问题 - 通过将许多 PNG 资源转换为 VectorDrawables 减少了库大小
- 添加了对
AppCompatEditText
使用OnReceiveContentListener
的拖放事件的支持 - 更新以支持 Android 11 窗口内插处理的更改
- 添加了对包含图标的菜单项中 RTL 的支持
添加了对在
AppCompatEditText
中插入富内容(例如粘贴图像)的支持**更新的依赖项**:
appcompat
更新了许多其传递依赖项以支持新功能和修复- 从 Fragment
1.1.0
更新到 Fragment1.3.4
- 从 Activity 1.0.0 更新到 Activity
1.2.3
- 从 Lifecycle
2.0.0
更新到 Lifecycle2.3.1
。 - 从 Core 1.3.0 更新到 Core
1.5.0
- 从 Fragment
版本 1.3.0-rc01
2021 年 3 月 24 日
androidx.appcompat:appcompat:1.3.0-rc01
和 androidx.appcompat:appcompat-resources:1.3.0-rc01
已发布。版本 1.3.0-rc01 包含这些提交。
错误修复
- 在处理 IME 内容插入时防止权限过早撤销
依赖项更新
- AppCompat 现在依赖于 Activity
1.2.2
、Fragment1.3.2
和 Lifecycle2.3.1
。(Ia75a1)
外部贡献
- 修复了在 Lollipop 之前的设备上跨
<include>
d 布局传播android:theme
属性的问题(Opera 的 Simon Bergner)
版本 1.3.0-beta01
2021 年 1 月 13 日
androidx.appcompat:appcompat:1.3.0-beta01
和 androidx.appcompat:appcompat-resources:1.3.0-beta01
已发布。版本 1.3.0-beta01 包含这些提交。
新功能
- 主题级操作模式可绘制对象已替换为矢量源。这可能会导致各个图标的视觉外观发生细微变化。(I741a6)
API 更改
- 在 AppCompatEditText 中集成了拖放(放置事件)和 OnReceiveContentListener。(Ib26c9,b/175343405)
- 更新了
OnReceiveContentListener
和相关 API。有关更多详细信息,请参阅 androidx.core 库更改。(Ib4616,b/173814913) - 将 widget.RichContentReceiverCompat 移动到 view.OnReceiveContentListener。(Ifdab7,b/173814913)
- 提供和检索初始周围文本的 API 已回退到
EditorInfoCompat
。它们允许 IME 应用避免额外的 IPC 延迟。(Ie3809)
版本 1.3.0-alpha02
2020 年 8 月 19 日
androidx.appcompat:appcompat:1.3.0-alpha02
和 androidx.appcompat:appcompat-resources:1.3.0-alpha02
已发布。版本 1.3.0-alpha02 包含这些提交。
错误修复
- AppCompatRatingBar PNG 可绘制对象已替换为矢量源。这可能会导致各个星形的视觉外观发生细微变化。(I6b99d)
- 将 WindowInsetsCompat 更新到 Android 11 API(I3df9e)
- 支持包含图标的菜单项中的 RTL(I2f5c5)
依赖项更新
- AppCompat 已将其依赖项从 Fragment
1.1.0
更新到 Fragment1.3.0-alpha08
。强烈建议通读 Fragment1.2.0
发行说明 以了解先前 Fragment 版本中引入的主要更改。 - AppCompat 已将其依赖项从 Activity
1.0.0
更新到 Activity1.2.0-alpha08
。强烈建议通读 Activity1.1.0
发行说明 以了解先前 Activity 版本中引入的主要更改。AppCompatActivity
现在使用 Activity1.2.0-alpha08
中引入的OnContextAvailableListener
API 来设置AppCompatDelegate
。添加到AppCompatActivity
子类的任何侦听器将在此侦听器之后运行。(I513da)
版本 1.3.0-alpha01
2020 年 5 月 20 日
androidx.appcompat:appcompat:1.3.0-alpha01
和 androidx.appcompat:appcompat-resources:1.3.0-alpha01
已发布。版本 1.3.0-alpha01 包含这些提交。
新功能
- 添加一个新的 Lint 规则来标记对扩展 AppCompatActivity 的活动的 setActionBar 的调用
- 在使用
AppCompatActivity
中的View
时,添加了对 Lifecycle2.3.0-alpha01
中的ViewTreeLifecycleOwner
、Lifecycle2.3.0-alpha03
中的ViewTreeViewModelStoreOwner
和 SavedState1.1.0-alpha01
中的ViewTreeSavedStateRegistryOwner
的支持。(b/151603528,aosp/1300264) - 添加插入富内容(例如粘贴图像)的通用 API。新的回调提供了一个单一的 API,应用可以实现该 API 以支持插入富内容的不同方式。目前,该 API 仅添加到
AppCompatEditText
,并将为以下代码路径调用- 从剪贴板粘贴
- 来自 IME 的内容插入(
InputConnection.commitContent
)(I22bf7)
错误修复
- 从 AppCompat
1.2.0-rc01
开始:AppCompat 不再使用null
菜单调用onMenuOpened()
。(b/142843126) - 在使用具有引用主题颜色属性的颜色状态列表的文本外观样式调用 TextViewCompat.setTextAppearance 时,在旧版设备上正确解析文本链接和提示颜色(b/154702995)
版本 1.2.0
版本 1.2.0
2020 年 8 月 5 日
androidx.appcompat:appcompat:1.2.0
和 androidx.appcompat:appcompat-resources:1.2.0
已发布。版本 1.2.0 包含这些提交。
自 1.1.0 以来的重大更改
- 修复了对配置覆盖用例的支持,包括自定义语言环境和字体缩放。请参阅 此处 以了解如何使用
appcompat:1.2.0
正确实现覆盖。 - 已弃用
AppCompatDelegate.attachBaseContext()
。如果您正在调用或覆盖此方法,请改用AppCompatDelegate.attachBaseContext2()
。 - 已弃用
CollapsibleActionView
。不再需要此接口,请使用平台提供的android.view.CollapsibleActionView
接口。
版本 1.2.0-rc02
2020 年 7 月 22 日
androidx.appcompat:appcompat:1.2.0-rc02
和 androidx.appcompat:appcompat-resources:1.2.0-rc02
已发布。 1.2.0-rc02 版本包含以下提交。
错误修复
- 修复了与夜间模式相关的问题,在对话框中调用
AppCompatDelegate.setDefaultNightMode
偶尔会导致 Activity 无法重新创建并应用新模式。 (aosp/1348308, b/158923881)
1.2.0-rc01 版本
2020年5月14日
androidx.appcompat:appcompat:1.2.0-rc01
和 androidx.appcompat:appcompat-resources:1.2.0-rc01
已发布。 1.2.0-rc01 版本包含以下提交。
API 更改
AppCompatDelegate.setLocalNightMode
由于平台在早期 SDK 上配置更改泄漏到 Activity 之间的问题,现已标记为需要 SDK 版本 17 或更高版本。
错误修复
AppCompatDelegate.setLocalNightMode
现在可以在Activity.attachBaseContext
之前调用。- 修复了
ActionBarOverlayLayout
内插消耗,该消耗错误地使用了缓存的内插。 - AppCompat 不再使用
null
菜单调用onMenuOpened()
。 (b/142843126)
1.2.0-beta01 版本
2020年4月1日
androidx.appcompat:appcompat:1.2.0-beta01
和 androidx.appcompat:appcompat-resources:1.2.0-beta01
已发布。 1.2.0-beta01 版本包含以下提交。
新功能
- 添加了以下新的 lint 规则,这些规则将在以下情况下标记 AppCompat 的不正确用法
- 加载颜色状态列表:建议使用
ContextCompat
和AppCompatResources
API 以实现向后兼容性。 - 加载 Drawable:建议使用
ContextCompat
和ResourcesCompat
API 以实现向后兼容性。 - 使用带有 alpha 属性的颜色状态列表:标记缺少
android:alpha
属性,这将导致某些平台版本上的外观不正确。 - 着色 ImageView:标记未使用
app:tint
,这将导致旧平台版本上的外观不正确。 - 在 TextView 上使用复合 Drawable 和着色:建议使用兼容属性和 API 以实现向后兼容性。
- 加载颜色状态列表:建议使用
错误修复
- 修复了
ActionBarOverlayLayout
(窗口装饰操作)未正确分派 WindowInsets 的问题。 - 修复了在旧版平台上着色 Drawable 和文本外观的问题。
- 修复了
androidx.appcompat:appcompat:1.1.0
在 WebView 长按时崩溃的问题 (b/141351441) - 实现了修复 Activity 启动期间基本上下文操作和检索系统服务的相关问题。
1.2.0-alpha03 版本
2020年3月4日
androidx.appcompat:appcompat:1.2.0-alpha03
和 androidx.appcompat:appcompat-resources:1.2.0-alpha03
已发布。 1.2.0-alpha03 版本包含以下提交。
错误修复
1.2.0-alpha02 版本
2020年1月29日
androidx.appcompat:appcompat:1.2.0-alpha02
和 androidx.appcompat:appcompat-resources:1.2.0-alpha02
已发布。 1.2.0-alpha02 版本包含以下提交。
错误修复
- 修复了 appcompat 1.1.0 在长按时导致 WebView 崩溃的问题 (b/141351441)
- 修复了 API 级别 23 上相对于复合 Drawable 的 TextView 上的 Drawable 着色 (aosp/1172194)
- 确保基本上下文始终是包装器 (aosp/1194355)
- 添加了一些改进,以便在修改基本上下文配置时更智能 (aosp/1204543)
- 为 Robolectric 禁用了
createConfigurationContext()
(aosp/1186218)
1.2.0-alpha01 版本
2019年12月4日
androidx.appcompat:appcompat:1.2.0-alpha01
和 androidx.appcompat:appcompat-resources:1.2.0-alpha01
已发布。 1.2.0-alpha01 版本包含以下提交。
错误修复
- 对 PackageManager.getActivityInfo 的调用在启用启动感知检查的严格模式下不再崩溃。
- 修复了 AppCompatButton 上的 Drawable 着色问题。
- 修复了旧版平台上的着色和文本外观问题。
1.1.0 版本
1.1.0 版本
2019年9月5日
androidx.appcompat:appcompat:1.1.0
和 androidx.appcompat:appcompat-resources:1.1.0
已发布。此版本中包含的提交可以在这里找到 这里。
自 1.0.0 以来重要更改
- **深色模式改进**:
MODE_NIGHT_AUTO
和基于当前时间切换深色/浅色现已弃用。请考虑使用显式设置或MODE_NIGHT_AUTO_BATTERY
。 - **Activity 1.0**:
AppCompatActivity
现在通过 Fragment1.1.0
从 Activity1.0.0
中的ComponentActivity
隐式扩展。有关每个库中的更改信息,请参阅相关的发行说明。 - **AppCompatActivity LayoutId 构造函数**:
AppCompatActivity
的子类现在可以选择调用AppCompatActivity
上的构造函数,该构造函数接受R.layout
ID,指示应将其设置为内容视图的布局,作为在onCreate()
中调用setContentView()
的替代方法。这不会更改子类必须具有无参数构造函数的要求。
1.1.0-rc01 版本
2019年7月2日
androidx.appcompat:appcompat:1.1.0-rc01
和 androidx.appcompat:appcompat-resources:1.1.0-rc01
已发布。此版本中包含的提交可以在这里找到 这里。
错误修复
- DayNight 现在可以正确地遵守
configChanges
(aosp/981105) - 仅在已启动的 Activity 上调用
onConfigurationChanged
(aosp/987483)
1.1.0-beta01 版本
2019年6月5日
androidx.appcompat:appcompat:1.1.0-beta01
和 androidx.appcompat:appcompat-resources:1.1.0-beta01
已发布。此版本中包含的提交可以在这里找到 这里。
错误修复
- 确保我们在 AppCompatDialogs 中清理接收器 (aosp/959376)
- 添加了对 Toolbar 上
buttonGravity=center_vertical
的支持 (b/130361721) - 修复了 Spinner 水平偏移问题 (b/79477181)
1.1.0-alpha05 版本
2019年5月7日
androidx.appcompat:appcompat:1.1.0-alpha05
和 androidx.appcompat:appcompat-resources:1.1.0-alpha05
已发布。此版本中包含的提交可以在这里找到 这里。
新功能
- setDefaultNightMode() 现在会自动重新创建任何已启动的 Activity。
错误修复
- 对 DayNight 模式进行了各种修复。
- 在 ActionBar 中的任何背景更改时使轮廓无效。
- 修复了 Spinner 控件的滚动问题。
- 修复了在 AlertDialog 中覆盖自定义设置的窗口背景的问题。
1.1.0-alpha04 版本
2019年4月3日
androidx.appcompat:appcompat:1.1.0-alpha04
和 androidx.appcompat:appcompat-resources:1.1.0-alpha04
已发布。此版本中包含的提交可以在这里找到 这里。
新功能
- 添加了新的
ThemeOverlay.AppCompat.DayNight
主题系列。在使用 DayNight 功能时,应使用这些主题。
API 更改
- AppCompatActivity 现在包含第二个构造函数,该构造函数接受
@LayoutRes int
,它取代了以前使用@ContentView
注释 AppCompatActivity 类的方式。此方法适用于应用程序和库模块。(b/128352521)
错误修复
- 尽可能将内部依赖项固定到稳定版本。
- 修复了
AppCompatSpinner
在下拉模式下的滚动问题 (b/124274573) - 仅在 DayNight 需要时调用
applyOverrideConfiguration()
。
1.1.0-alpha03 版本
2019年3月13日
androidx.appcompat:appcompat:1.1.0-alpha03
和 androidx.appcompat:appcompat-resources:1.1.0-alpha03
已发布。这是 appcompat-resources
的第一个版本。此版本中包含的完整提交列表可以在这里找到 这里。
新功能
- 新的 appcompat-resources 库包含允许应用程序在旧版平台上加载和着色 Drawable(包括矢量 Drawable)的 API。这与以前是 appcompat 模块一部分的功能相同,但现在无需完整的 appcompat 反向移植 Material Design(包括小部件、对话框、夜间模式等)带来的开销。
- 对 DayNight 模式支持进行了重大修复。
- DayNight 模式的新
MODE_NIGHT_AUTO_BATTERY
选项。 - 在
AppCompatTextView
中着色 Drawable。 - Toolbar 溢出现在可以使用带主题的颜色状态列表进行样式设置。
- 菜单图标现在可以使用引用主题属性的颜色。
- 新的 app:menu 属性可以设置在 Toolbar 上,以便在加载时提供菜单内容。
错误修复
- 修复了版本 21 上 ImageView 的默认着色模式。
- 修复了设备旋转时 Spinner 弹出窗口错误关闭的问题。
- 修复了 DayNight 不尊重清单中的
configChanges
的问题。 - 修复了切换到
MODE_NIGHT_FOLLOW_SYSTEM
不起作用的问题 (b/111345020) - 修复了 WebView 重置 DayNight 资源的问题 (b/37124582)
1.1.0-alpha02 版本
2019年2月7日
androidx.appcompat:appcompat 1.1.0-alpha02
已发布。
新功能
- 将特定于资源的可绘制处理提取到一个钩子中 (aosp/870976)
- 允许 Toolbar 的
titleTextColor
和subtitleTextColor
使用ColorStateList
,并添加了ColorStateList
的setTitleTextColor
和setSubtitleTextColor
方法重载 (aosp/867489)
错误修复
- 修复了 API 24 之前的版本中
fontFamily
不起作用的问题 (aosp/807054) - 修复了当 Activity 继承自
AppCompatActivity
时textFontWeight
不起作用的错误 (aosp/847640) - 修复了导致 spinner 控件弹出窗口(使用对话框模式时)上的标题文本不使用
fontFamily
中指定的字体的错误 (aosp/789994) - 修复了阻止
AppCompatCheckBox
和AppCompatRadioButton
控件更改背景色调的错误 (aosp/825160) - 修复了 AppCompat 未覆盖
android: list styles
的错误 (aosp/862350)
版本 1.1.0-alpha01
2018年12月3日
新功能
AppCompatTextView 现在支持
app:drawableLeftCompat
、app:drawableTopCompat
、app:drawableRightCompat
、app:drawableBottomCompat
、app:drawableStartCompat
和app:drawableEndCompat
复合可绘制对象,支持回溯的可绘制类型,例如VectorDrawableCompat
。AppCompatCheckBox
和AppCompatRadioButton
的默认可绘制对象现在可以为选中状态更改提供动画。
API 更改
- aosp/740385: ActionBarOverlayLayout 现在实现了 NestedScrollingParent2 和 NestedScrollingParent3,使其能够促进嵌套滚动 3 中的最新功能。如果开发人员代码当前覆盖了
ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int)
,则可能不再调用它,而应改为覆盖ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int, int, int[])
。
版本 1.0.2
版本 1.0.2
2018年11月7日
core-1.0.1
和 appcompat-1.0.2
的错误修复版本。
错误修复
- 修复了
PrecomputedTextCompat
在与 RTLAppCompatTextView
一起使用时会崩溃的错误。 b/113070424
版本 1.0.0
版本 1.0.0
2018年11月7日
新功能
AnimatedStateListDrawableCompat
提供了可绘制状态之间动画过渡。