Appcompat

允许在较旧的平台 API 版本上访问新的 API(许多使用 Material Design)。
最新更新 稳定版发布 发布候选版 Beta 版发布 Alpha 版发布
2025年6月4日 1.7.1 - - -

声明依赖项

要添加对 Appcompat 的依赖项,您必须将 Google Maven 存储库添加到您的项目中。如需了解更多信息,请阅读Google 的 Maven 存储库

在您的应用或模块的 build.gradle 文件中添加所需工件的依赖项

Groovy

dependencies {
    def appcompat_version = "1.7.1"

    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.1"

    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.1

2025年6月4日

androidx.appcompat:appcompat:1.7.1androidx.appcompat:appcompat-resources:1.7.1 已发布。版本 1.7.1 包含这些提交

Bug 修复

  • AppCompat 已更新为使用 Activity 1.8.0,以便它可以使用 ComponentActivity 中的 initializeViewTreeOwners() API,以确保始终正确设置 ViewTreeOwners。这修复了 AppCompatActivityNavigationEvent 以及基于其构建的库(例如 Navigation 3)之间的不兼容问题。( I96919b/419208471 )

版本 1.7.0

2024年5月29日

androidx.appcompat:appcompat:1.7.0androidx.appcompat:appcompat-resources:1.7.0 已发布。版本 1.7.0 包含这些提交

自 1.6.0 以来的重要变更

  • AppCompatDialog 现在通过 ViewTree API 在对话框的装饰视图上正确设置 LifecycleOwnerSavedStateRegistryOwnerOnBackPressedDispatcherOwner,从而修复了在 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-rc01androidx.appcompat:appcompat-resources:1.7.0-rc01 已发布。版本 1.7.0-rc01 包含这些提交

版本 1.7.0-beta01

2024年5月1日

androidx.appcompat:appcompat:1.7.0-beta01androidx.appcompat:appcompat-resources:1.7.0-beta01 已发布。版本 1.7.0-beta01 包含这些提交

版本 1.7.0-alpha03

2023年7月26日

androidx.appcompat:appcompat:1.7.0-alpha03androidx.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 )

Bug 修复

  • AppCompatDialog 现在通过 ViewTree API 在对话框的装饰视图上正确设置 LifecycleOwnerSavedStateRegistryOwnerOnBackPressedDispatcherOwner,从而修复了在 AppCompatDialog 中托管 ComposeView 时出现的问题。AppCompat 现在依赖于 Activity 1.7.0。( Ib28abb/261314581 )
  • 显著提高了 SupportMenuInflater 的性能 ( I0b087 )

版本 1.7.0-alpha02

2023年2月8日

androidx.appcompat:appcompat:1.7.0-alpha02androidx.appcompat:appcompat-resources:1.7.0-alpha02 已发布。版本 1.7.0-alpha02 包含这些提交。

Bug 修复

  • 修复了 AppCompatDelegate.getLocaleManagerForApplication() 中的内存泄漏问题 ( 44b57fd )
  • AppCompat 现在依赖于 Fragment 1.5.4 版 ( I54dcd )

版本 1.7.0-alpha01

2022年10月5日

androidx.appcompat:appcompat:1.7.0-alpha01androidx.appcompat:appcompat-resources:1.7.0-alpha01 已发布。版本 1.7.0-alpha01 包含这些提交。

Bug 修复

  • AppCompatActivity 现在设置了 ViewTreeOnBackPressedDispatcherOwner,以便可以从视图中检索调度程序。( I1a115b/235416503 )
  • 冷启动后,Locale.getDefault() 现在会返回系统语言区域设置 ( I6a94b )
  • LinearLayoutCompat 现在会保留边距布局参数 ( Id2af4 )

版本 1.6.1

版本 1.6.1

2023年2月8日

androidx.appcompat:appcompat:1.6.1androidx.appcompat:appcompat-resources:1.6.1 已发布。版本 1.6.1 包含这些提交。

Bug 修复

  • 修复了 AppCompatDelegate.getLocaleManagerForApplication() 中的内存泄漏问题 ( 44b57fd )

版本 1.6.0

版本 1.6.0

2023年1月11日

androidx.appcompat:appcompat:1.6.0androidx.appcompat:appcompat-resources:1.6.0 已发布。版本 1.6.0 包含这些提交。

自 1.5.0 以来的重要变更

版本 1.6.0-rc01

2022年9月7日

androidx.appcompat:appcompat:1.6.0-rc01androidx.appcompat:appcompat-resources:1.6.0-rc01 已发布。版本 1.6.0-rc01 包含这些提交。

Bug 修复

  • AppCompatActivity 现在设置了 ViewTreeOnBackPressedDispatcherOwner,以便可以从视图中检索调度程序。( I1a115b/235416503 )
  • 恢复了一个 bug 修复,该修复会覆盖传递给 onConfigurationChanged 的配置,这导致了通过 onConfigurationChanged 注入自定义配置的测试出现问题。

版本 1.6.0-beta01

2022年8月10日

androidx.appcompat:appcompat:1.6.0-beta01androidx.appcompat:appcompat-resources:1.6.0-beta01 已发布。版本 1.6.0-beta01 包含这些提交。

API 变更

  • DrawableWrapperDrawableContainerStateListDrawable 兼容类移至公共 API。( I37f3eb/227789566 )
  • 引入了用于异步布局填充器的新工厂。( Ia657b )

Bug 修复

  • Toolbar 现在将在菜单显示之前调用 onPrepareMenu(),而不是在菜单创建时无条件调用。( I2a58db/232206677 )
  • AppCompat 现在明确依赖于 Lifecycle 2.5.1SavedState 1.2.0。( I7e3e2 )
  • 增加了对 AppCompatDelegateAppCompat 提供的 Toolbar 实现的返回调用回调的支持。( I24062 )
  • 最终确定 1.5.0-beta01 的 AppCompat API ( I2a43db/236866227 )
  • 最终确定 1.5.0-beta01 的 AppCompat API ( I2a43db/236866227 )

版本 1.6.0-alpha05

2022年6月15日

androidx.appcompat:appcompat:1.6.0-alpha05androidx.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-alpha04androidx.appcompat:appcompat-resources:1.6.0-alpha04 已发布。此库是根据私有预发布分支开发的,因此没有可用的提交日志。

API 变更

  • 添加了一个 API,用于覆盖 SwitchCompat 宽度限制,供 MDC-Android 使用

Bug 修复

  • 当配置在 attachBaseConfig 之外发生更改时,避免托管配置

版本 1.6.0-alpha03

2022年4月27日

androidx.appcompat:appcompat:1.6.0-alpha03androidx.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-alpha01androidx.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.1androidx.appcompat:appcompat-resources:1.5.1 已发布。版本 1.5.1 包含这些提交。

依赖项更新

版本 1.5.0

版本 1.5.0

2022年8月10日

androidx.appcompat:appcompat:1.5.0androidx.appcompat:appcompat-resources:1.5.0 已发布。版本 1.5.0 包含这些提交。

自 1.4.0 以来的重要变更

  • 此稳定版本包含夜间模式稳定性改进、Bug 修复以及对 AppCompat 支持的文本微件的组合 drawable 着色支持,并提高了 API 可用性。有关详细更改列表,请参阅以前的 1.5.0 系列版本说明。

版本 1.5.0-rc01

2022年7月27日

androidx.appcompat:appcompat:1.5.0-rc01androidx.appcompat:appcompat-resources:1.5.0-rc01 已发布。版本 1.5.0-rc01 包含这些提交。

Bug 修复

  • 修复了 AppCompat 的上下文包装器重复使用应用上下文的后端资源实现的问题,导致应用上下文上的 uiMode 被覆盖。( Idf9d5 )

版本 1.5.0-beta01

2022年7月13日

androidx.appcompat:appcompat:1.5.0-beta01androidx.appcompat:appcompat-resources:1.5.0-beta01 已发布。版本 1.5.0-beta01 包含这些提交。

API 变更

  • 添加了一个可重写标志,以禁用默认开关宽度调整。( I37cb7 )
  • 向拇指位置 getter API 添加 @FloatRange 注解 ( If524c )
  • AnimatedStateListDrawableCompat 添加缺失的可空性注解 ( Ieb4ec )

Bug 修复

  • 最终确定 1.5.0-beta01 的 AppCompat API ( I2a43db/236866227 )
  • 更改 ActionMenuItemViewclassName 值,以将其视为 Button ( I5ee1c )

版本 1.5.0-alpha01

2022年4月6日

androidx.appcompat:appcompat:1.5.0-alpha01androidx.appcompat:appcompat-resources:1.5.0-alpha01 已发布。版本 1.5.0-alpha01 包含这些提交。

API 变更

  • 添加了一个新 API,用于向子类公开开关拇指位置 ( I9bfb4 )
  • 更新了可空性以匹配 Tiramisu DP2 ( I0cbb7 )
  • 将复合 drawable 着色反向移植到 TextView 派生的小部件 ( Idf98cb/165822337 )
  • AppCompatDialog 现在扩展了 ComponentDialog,以兼容 OnBackPressedDispatcher ( Id9b91b/217620781 )
  • SearchView.onQueryRefine() 现在是受保护的可见性,允许覆盖 ( I6cce0b/212882845 )

Bug 修复

  • AppCompat Toolbar 现在调用 MenuHostHelperonPrepareMenu() API。( I9b9b5b/227376894 )
  • 在 XML 中设置时,AppCompatEditTextAppCompatAutoCompleteEditTextAppCompatMultiAutoCompleteEditText 不再在构造函数中重置 clickable 或 longClickable ( Ic5066b/221094907 )
  • AppCompatEditTextAppCompatAutoCompleteTextViewAppCompatMultiAutoCompleteTextView 在构造函数期间将不会调用被覆盖的 setKeyListenerI5c13ab/208480173
  • Appcompat 将不会包装传递给 setKeyListenerNumberKeyListener 实例,从而允许 TextViewNumberKeyListeners 上正确配置语言环境(Ibf113b/207119921
  • 修复了 AppCompat 1.4.0 中引入的所有 NumberKeyListener 子类问题,该问题曾允许输入标点符号等意外字符(Iede7ab/207119921

版本 1.4.2

版本 1.4.2

2022 年 6 月 1 日

androidx.appcompat:appcompat:1.4.2androidx.appcompat:appcompat-resources:1.4.2 已发布。版本 1.4.2 包含以下提交。

Bug 修复

  • 修复了 AppCompatDelegateImpl 在操作栏创建之前内部调用 ensureSubDecor 导致的崩溃问题(aosp/2048349b/226648941

版本 1.4.1

2022 年 1 月 12 日

androidx.appcompat:appcompat:1.4.1androidx.appcompat:appcompat-resources:1.4.1 已发布。版本 1.4.1 包含以下提交。

Bug 修复

  • AppCompatEditTextAppCompatAutoCompleteTextViewAppCompatMultiAutoCompleteTextView 在构造函数期间将不会调用被覆盖的 setKeyListener。(I5c13ab/208480173
  • Emoji2 将不会包装 NumberKeyListener 的实例,从而允许 TextView 配置语言环境。
    • Appcompat 将不会包装传递给 setKeyListenerNumberKeyListener 实例,从而允许 TextViewNumberKeyListeners 上正确配置语言环境。(Ibf113b/207119921
  • 修复了 appcompat 1.4.0 中引入的所有 NumberKeyListener 子类问题,该问题曾允许输入标点符号等意外字符(b/207119921)(Iede7ab/207119921

版本 1.4.0

版本 1.4.0

2021 年 11 月 17 日

androidx.appcompat:appcompat:1.4.0androidx.appcompat:appcompat-resources:1.4.0 已发布。版本 1.4.0 包含以下提交。

自 1.3.0 以来的重要变化

  • 库现在以 Java 8 语言级别为目标
  • 默认通过 androidx.emoji2 库启用可更新的 Emoji 支持
  • 改进了 Android Studio 的 Layout Inspector 中的属性检查(I02d55
  • 在 AppCompat 资源加载回溯中添加了对嵌套着色资源和矢量可绘制对象(vector drawable)的支持。但请注意,这意味着当启用回溯时,应用无法在自定义 Resources 对象上覆盖 getDrawable()。(Ia6b03b/176129022
  • CheckedTextView 回溯了可着色背景和复选标记(I8575c

版本 1.4.0-rc01

2021 年 10 月 27 日

androidx.appcompat:appcompat:1.4.0-rc01androidx.appcompat:appcompat-resources:1.4.0-rc01 已发布。版本 1.4.0-rc01 包含以下提交。

版本 1.4.0-beta01

2021 年 9 月 29 日

androidx.appcompat:appcompat:1.4.0-beta01androidx.appcompat:appcompat-resources:1.4.0-beta01 已发布。版本 1.4.0-beta01 包含以下提交。

API 变更

  • AndroidX AppCompat Toolbar 现在是一个 MenuHost,并且可以管理 MenuProvider。(I5cd95

Bug 修复

  • 修复了 AppCompatProgressBar 对层列表进度条(layer-list progress bar)的处理问题(I6ece3b/142004509
  • 正确保留 AppCompatEditText 中的 android:digits,这修复了 AppCompat 1.4.0-alpha03 中引入的 bug 193047889。(I4b4fcb/193047889
  • 集成了 OnReceiveContentListener SDK 和支持库 API。(Ic6914b/173814913

版本 1.4.0-alpha03

2021 年 6 月 30 日

androidx.appcompat:appcompat:1.4.0-alpha03androidx.appcompat:appcompat-resources:1.4.0-alpha03 已发布。版本 1.4.0-alpha03 包含以下提交。

新功能

  • 库现在以 Java 8 语言级别为目标
  • 为更多 TextView 子类(AppCompatMultiAutoCompleteTextViewAppCompatAutoCompleteTextViewAppCompatRadioButtonAppCompatCheckBox)添加 emoji2 支持。

API 变更

  • 添加了一个 API,用于配置 InputConnection 以使用 View.performReceiveContent 来处理 IME 对 InputConnection.commitContent 的调用。(I3a2ad
  • AppCompatMultiAutoCompleteTextView 添加 EmojiCompat 支持(Ifece0
  • AppCompatAutoCompleteTextView 添加 EmojiCompat 支持(Ia1f4b
  • AppCompatRadioButton 添加 EmojiCompat 支持(If08af
  • AppCompatCheckBox 添加 EmojiCompat 支持(I2b3bc
  • 允许在 AppCompatEditText 中使用 null KeyListener。这撤销了在 1.4-alpha01 中添加到 AppCompatEditText 的非空注解,并恢复了传入 null 时的原有行为。(I21482b/189559345
  • 添加 PopupMenu.setForceShowIcon,以与平台 API 保持一致(I43bb3b/182789798

Bug 修复

  • 修复了 AppCompatEditText 中的一个 bug,该 bug 会重置 XML 中指定的 inputType 以消除变体。此 bug 是在 AppCompat 1.4.0-alpha01 中引入的。(I9df36b/191061070

版本 1.4.0-alpha02

2021 年 6 月 2 日

androidx.appcompat:appcompat:1.4.0-alpha02androidx.appcompat:appcompat-resources:1.4.0-alpha02 已发布。版本 1.4.0-alpha02 包含以下提交。

API 变更

  • 添加了接受布局 ID 的 AppCompatDialogFragment 构造函数(Icbf22b/188119987
  • 改进了布局检查器支持(I02d55
  • emoji2-views-helper 中的软件包重命名为 androidx.emoji2.viewsintegration。这对 AppCompat 1.4.0-alpha01 来说是一个重大变更,应用必须确保 AppCompat 依赖项已更新以使用新的 emoji2 版本。(Ie8397

Bug 修复

  • 修复了停止的 activity 未从 AppCompat 检测的夜间模式更改中接收配置更改的问题。(I8fa8fb/188681415
  • 修复了 AppCompatEditText 中的一个 bug,该 bug 会导致视图即使在 XML 中指定了 android:focusable="false" 时也能获得焦点(此 bug 是在 AppCompat 1.4.0-alpha01 中引入的)(Ib9412

版本 1.4.0-alpha01

2021 年 5 月 18 日

androidx.appcompat:appcompat:1.4.0-alpha01androidx.appcompat:appcompat-resources:1.4.0-alpha01 已发布。版本 1.4.0-alpha01 包含以下提交。

API 变更

  • 将 EmojiCompat 支持集成到各种 AppCompat 控件中(Id409bIf7a1aIc262dIb5f4aI4fb3c
  • 在 AppCompat 资源加载回溯中添加了对嵌套着色资源和矢量可绘制对象(vector drawable)的支持。但请注意,这意味着当启用回溯时,应用无法在自定义 Resources 对象上覆盖 getDrawable()。(Ia6b03b/176129022
  • 改进了布局检查器支持(I6d771

Bug 修复

  • 修复了在设置窗口回调后调用 setSupportActionBar 会覆盖回调的情况。(Ie43eeb/186791590
  • 添加了一个针对 SDK 29 和 30 上问题的解决方法,该问题导致从可绘制对象缓存克隆的 ColorStateListDrawable 资源在接收到状态更改之前不会加载默认颜色。(Iedb4b
  • 避免在处理 AppCompat 支持视图上的空自定义选择操作模式回调时出现 NPE。(I033c7b/173435375

依赖项更新

外部贡献

  • CheckedTextView 回溯了可着色背景和复选标记(I8575c

版本 1.3.1

版本 1.3.1

2021 年 7 月 21 日

androidx.appcompat:appcompat:1.3.1androidx.appcompat:appcompat-resources:1.3.1 已发布。版本 1.3.1 包含以下提交。

依赖项更新

版本 1.3.0

版本 1.3.0

2021 年 5 月 18 日

androidx.appcompat:appcompat:1.3.0androidx.appcompat:appcompat-resources:1.3.0 已发布。版本 1.3.0 包含以下提交。

自 1.2.0 以来的主要变化

  • 修复了 android:theme 属性在 Lollipop 之前设备上的 <include> 布局中传播的问题
  • 通过将许多 PNG 资源转换为 VectorDrawables 减小了库大小
  • 为带有 OnReceiveContentListenerAppCompatEditText 添加了对拖放事件的支持
  • 已更新以支持 Android 11 窗口内边距处理的更改
  • 在带有图标的菜单项中添加了对 RTL 的支持
  • AppCompatEditText 中添加了对插入富内容(例如粘贴图像)的支持

  • 更新的依赖项appcompat 更新了其许多传递性依赖项以支持新功能和修复

版本 1.3.0-rc01

2021 年 3 月 24 日

androidx.appcompat:appcompat:1.3.0-rc01androidx.appcompat:appcompat-resources:1.3.0-rc01 已发布。版本 1.3.0-rc01 包含以下提交。

Bug 修复

  • 在处理 IME 内容插入时,可防止权限过早地被撤销

依赖项更新

外部贡献

  • 修复了 android:theme 属性在 Lollipop 之前设备上的 <include> 布局中传播的问题(Opera 的 Simon Bergner)

版本 1.3.0-beta01

2021 年 1 月 13 日

androidx.appcompat:appcompat:1.3.0-beta01androidx.appcompat:appcompat-resources:1.3.0-beta01 已发布。版本 1.3.0-beta01 包含以下提交。

新功能

  • 主题级操作模式可绘制对象(theme-level action mode drawable)已替换为矢量源。这可能会导致各个图标的视觉外观发生细微变化。(I741a6

API 变更

  • 将拖放(拖放事件)集成到带有 OnReceiveContentListener 的 AppCompatEditText 中。(Ib26c9b/175343405
  • 更新了 OnReceiveContentListener 和相关 API。如需了解更多详情,请参阅 androidx.core 库更改。(Ib4616b/173814913
  • widget.RichContentReceiverCompat 移动到 view.OnReceiveContentListener。(Ifdab7b/173814913
  • 用于提供和检索初始周围文本的 API 已回溯到 EditorInfoCompat。它们允许 IME 应用避免额外的 IPC 延迟。(Ie3809

版本 1.3.0-alpha02

2020 年 8 月 19 日

androidx.appcompat:appcompat:1.3.0-alpha02androidx.appcompat:appcompat-resources:1.3.0-alpha02 已发布。版本 1.3.0-alpha02 包含以下提交。

Bug 修复

  • AppCompatRatingBar PNG 可绘制对象已替换为矢量源。这可能会导致各个星标的视觉外观发生细微变化。(I6b99d
  • WindowInsetsCompat 更新到 Android 11 API(I3df9e
  • 在带有图标的菜单项中支持 RTL(I2f5c5

依赖项更新

版本 1.3.0-alpha01

2020 年 5 月 20 日

androidx.appcompat:appcompat:1.3.0-alpha01androidx.appcompat:appcompat-resources:1.3.0-alpha01 已发布。版本 1.3.0-alpha01 包含以下提交。

新功能

  • 添加了一个新的 Lint 规则,用于标记在扩展 AppCompatActivity 的 activity 上调用 setActionBar 的情况
  • 在使用 AppCompatActivity 中的 View 时,添加了对来自 Lifecycle 2.3.0-alpha01ViewTreeLifecycleOwner、来自 Lifecycle 2.3.0-alpha03ViewTreeViewModelStoreOwner 以及来自 SavedState 1.1.0-alpha01ViewTreeSavedStateRegistryOwner 的支持。(b/151603528aosp/1300264
  • 添加用于插入富内容(例如粘贴图像)的通用 API。新的回调提供了一个单一 API,应用可以实现该 API 来支持插入富内容的不同方式。目前,该 API 仅添加到 AppCompatEditText,并将为以下代码路径调用
    • 从剪贴板粘贴
    • 通过 IME 插入内容(InputConnection.commitContent)(I22bf7

Bug 修复

  • 来自 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.0androidx.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-rc02androidx.appcompat:appcompat-resources:1.2.0-rc02 已发布。版本 1.2.0-rc02 包含以下提交。

Bug 修复

  • 修复了与夜间模式相关的问题,即从对话框调用 AppCompatDelegate.setDefaultNightMode 有时会无法重新创建 activity 并应用新模式。(aosp/1348308b/158923881

版本 1.2.0-rc01

2020 年 5 月 14 日

androidx.appcompat:appcompat:1.2.0-rc01androidx.appcompat:appcompat-resources:1.2.0-rc01 已发布。版本 1.2.0-rc01 包含以下提交。

API 变更

  • 由于较早 SDK 上 Activity 之间配置更改泄漏的平台问题,AppCompatDelegate.setLocalNightMode 已被标记为需要 SDK 版本 17 或更高版本

Bug 修复

  • AppCompatDelegate.setLocalNightMode 现在可以在 Activity.attachBaseContext 之前调用
  • 修复了 ActionBarOverlayLayout 内边距消耗问题,该问题错误地使用了缓存的内边距
  • AppCompat 不再调用带 null 菜单的 onMenuOpened()。(b/142843126

版本 1.2.0-beta01

2020 年 4 月 1 日

androidx.appcompat:appcompat:1.2.0-beta01androidx.appcompat:appcompat-resources:1.2.0-beta01 已发布。版本 1.2.0-beta01 包含以下提交。

新功能

  • 添加了以下新的 Lint 规则,用于标记在以下场景中不正确使用 AppCompat 的情况
    • 加载颜色状态列表:建议使用 ContextCompatAppCompatResources API 以实现向后兼容性
    • 加载可绘制对象:建议使用 ContextCompatResourcesCompat API 以实现向后兼容性
    • 使用带有 alpha 属性的颜色状态列表:标记缺失 android:alpha 属性,这将在某些平台版本上导致不正确的显示
    • 着色图像视图:标记未使用 app:tint 的情况,这将在旧平台版本上导致不正确的显示
    • 在文本视图上使用复合可绘制对象和着色:建议使用兼容属性和 API 以实现向后兼容性

Bug 修复

  • 修复了 ActionBarOverlayLayout(窗口装饰操作)未正确分派 WindowInsets 的问题。
  • 修复了在旧平台版本上着色可绘制对象和文本外观的问题
  • 修复了当长按 webview 时,androidx.appcompat:appcompat:1.1.0 会导致 webview 崩溃的问题(b/141351441
  • 针对 activity 启动期间基础上下文操作和检索系统服务的问题实施了修复

版本 1.2.0-alpha03

2020 年 3 月 4 日

androidx.appcompat:appcompat:1.2.0-alpha03androidx.appcompat:appcompat-resources:1.2.0-alpha03 已发布。版本 1.2.0-alpha03 包含以下提交。

Bug 修复

  • 修复了操作模式状态守卫错误地延伸到导航栏并颜色错误的问题(Ia4a09
  • 修复了 API Level 23 及以下版本中已停止的 Activity 无法恢复的问题(I45201

版本 1.2.0-alpha02

2020 年 1 月 29 日

androidx.appcompat:appcompat:1.2.0-alpha02androidx.appcompat:appcompat-resources:1.2.0-alpha02 已发布。版本 1.2.0-alpha02 包含以下提交。

Bug 修复

  • 修复了 appcompat 1.1.0 在长按 webview 时导致 webview 崩溃的问题(b/141351441
  • 修复了在 API Level 23 上 TextView 针对复合可绘制对象的着色问题(aosp/1172194
  • 确保基础上下文始终是包装器(aosp/1194355
  • 添加了一些改进,以便在修改基础上下文配置时更智能(aosp/1204543
  • 为 Robolectric 禁用了 createConfigurationContext()aosp/1186218

版本 1.2.0-alpha01

2019 年 12 月 4 日

androidx.appcompat:appcompat:1.2.0-alpha01androidx.appcompat:appcompat-resources:1.2.0-alpha01 已发布。版本 1.2.0-alpha01 包含以下提交。

Bug 修复

  • 在启用启动感知检查的严格模式下,对 PackageManager.getActivityInfo 的调用不再崩溃
  • 修复了 AppCompatButton 上着色可绘制对象的问题
  • 修复了旧平台版本上的着色和文本外观问题

版本 1.1.0

版本 1.1.0

2019 年 9 月 5 日

androidx.appcompat:appcompat:1.1.0androidx.appcompat:appcompat-resources:1.1.0 已发布。此版本中包含的提交可在此处找到。

自 1.0.0 以来的重要更改

  • 深色模式改进MODE_NIGHT_AUTO 以及根据当前时间切换深色/亮色的功能现已弃用。请考虑使用显式设置或 MODE_NIGHT_AUTO_BATTERY
  • Activity 1.0AppCompatActivity 现在通过 Fragment 1.1.0 间接扩展了来自 Activity 1.0.0ComponentActivity。有关每个库中更改的信息,请参阅相关的版本说明。
  • AppCompatActivity LayoutId 构造函数AppCompatActivity 的子类现在可以选择调用 AppCompatActivity 上的一个构造函数,该构造函数接受一个 R.layout ID,指示应将哪个布局设置为内容视图,作为在 onCreate() 中调用 setContentView() 的替代方法。这不会改变您的子类必须具有无参数构造函数的要求。

版本 1.1.0-rc01

2019 年 7 月 2 日

androidx.appcompat:appcompat:1.1.0-rc01androidx.appcompat:appcompat-resources:1.1.0-rc01 已发布。此版本中包含的提交可在此处找到。

Bug 修复

  • DayNight 现在正确遵循 configChangesaosp/981105
  • 仅在已启动的 Activity 上调用 onConfigurationChangedaosp/987483

版本 1.1.0-beta01

2019 年 6 月 5 日

androidx.appcompat:appcompat:1.1.0-beta01androidx.appcompat:appcompat-resources:1.1.0-beta01 已发布。此版本中包含的提交可在此处找到。

Bug 修复

  • 确保清理 AppCompatDialogs 中的接收器(aosp/959376
  • 在 Toolbar 上添加对 buttonGravity=center_vertical 的支持(b/130361721
  • 修复微调器水平偏移(b/79477181

版本 1.1.0-alpha05

2019 年 5 月 7 日

androidx.appcompat:appcompat:1.1.0-alpha05androidx.appcompat:appcompat-resources:1.1.0-alpha05 已发布。此版本中包含的提交可在此处找到。

新功能

Bug 修复

  • 对 DayNight 模式的各种修复
  • 在 ActionBar 中任何背景更改时使轮廓无效
  • 修复微调器控件滚动
  • 修复了在 AlertDialog 中自定义设置的窗口背景被覆盖的问题

版本 1.1.0-alpha04

2019 年 4 月 3 日

androidx.appcompat:appcompat:1.1.0-alpha04androidx.appcompat:appcompat-resources:1.1.0-alpha04 已发布。此版本中包含的提交可在此处找到。

新功能

  • 添加了新的 ThemeOverlay.AppCompat.DayNight 主题系列。在使用 DayNight 功能时应使用这些主题。

API 更改

  • AppCompatActivity 现在包含第二个接受 @LayoutRes int 的构造函数,这取代了以前使用 @ContentView 注解 AppCompatActivity 类的行为。此方法适用于应用和库模块。(b/128352521

Bug 修复

  • 在可能的情况下将内部依赖项固定到稳定版本
  • 修复了 AppCompatSpinner 在下拉模式下的滚动问题(b/124274573
  • 仅在 DayNight 需要时才调用 applyOverrideConfiguration()

版本 1.1.0-alpha03

2019 年 3 月 13 日

androidx.appcompat:appcompat:1.1.0-alpha03androidx.appcompat:appcompat-resources:1.1.0-alpha03 已发布。这是 appcompat-resources 的第一个版本。此版本中包含的完整提交列表可在此处找到。

新功能

  • 新的 appcompat-resources 库包含 API,允许应用在旧平台版本上加载和着色可绘制对象(包括矢量可绘制对象)。这与之前作为 appcompat 模块一部分的功能相同,但现在无需 Material Design 完整 appcompat 回溯(包括控件、对话框、夜间模式等)的开销即可使用。
  • 对 DayNight 模式支持的重大修复
  • DayNight 模式的新选项 MODE_NIGHT_AUTO_BATTERY
  • AppCompatTextView 中的可绘制对象着色
  • Toolbar 溢出现在可以使用主题颜色状态列表进行样式设置
  • 菜单图标现在可以使用引用主题属性的颜色
  • 新的 app:menu 属性可以在 Toolbar 上设置,以在膨胀时提供菜单内容

Bug 修复

  • 修复了版本 21 上 ImageView 的默认着色模式
  • 修复了设备旋转时微调器弹出窗口错误关闭的问题
  • 修复了 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 的 titleTextColorsubtitleTextColor 使用 ColorStateList,并添加了 setTitleTextColorsetSubtitleTextColor 方法的 ColorStateList 重载(aosp/867489

Bug 修复

  • 修复了 fontFamily 在 API 24 之前无法工作的问题(aosp/807054
  • 修复了当 activity 扩展自 AppCompatActivitytextFontWeight 不起作用的 bug(aosp/847640
  • 修复了微调器控件弹出窗口(使用对话框模式时)的标题文本不使用 fontFamily 中指定的字体的问题(aosp/789994
  • 修复了阻止控件 AppCompatCheckBoxAppCompatRadioButton 更改背景着色的 bug(aosp/825160
  • 修复了 AppCompat 未覆盖 android: list styles 的 bug(aosp/862350

版本 1.1.0-alpha01

2018 年 12 月 3 日

新功能

  • AppCompatTextView 现在支持 app:drawableLeftCompatapp:drawableTopCompatapp:drawableRightCompatapp:drawableBottomCompatapp:drawableStartCompatapp:drawableEndCompat 复合可绘制对象,支持回溯的可绘制对象类型,例如 VectorDrawableCompat

  • AppCompatCheckBoxAppCompatRadioButton 的默认可绘制对象现在会为选中状态更改添加动画效果。

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.1appcompat-1.0.2 的 Bug 修复版本。

Bug 修复

  • 修复了 PrecomputedTextCompat 与 RTL AppCompatTextView 一起使用时会崩溃的 bug。b/113070424

版本 1.0.0

版本 1.0.0

2018 年 11 月 7 日

新功能