Appcompat

允许在平台的旧版 API 版本上访问新的 API(许多使用 Material Design)。
最新更新 稳定版 候选版 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.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)

错误修复

  • 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 包含这些提交。

错误修复

  • 修复了 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 包含这些提交。

错误修复

  • 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 包含这些提交。

错误修复

  • 修复了 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 以来的重要更改

  • 添加了对自定义应用程序区域设置的支持。有关更多信息,请参阅 AppCompatDelegate.setApplicationLocales(LocaleListCompat)。为 Android 13 中提供的新 每语言首选项 API 提供向后兼容性。
  • 可空性更新以与 Android 13 (Tiramisu,API 级别 33) SDK 保持一致。
  • DrawableWrapperDrawableContainerStateListDrawable 兼容类添加到公共 API 表面

版本 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 包含这些提交。

错误修复

  • AppCompatActivity 现在设置了 ViewTreeOnBackPressedDispatcherOwner,以便可以从视图中检索调度程序。(I1a115b/235416503
  • 恢复了一个错误修复,该修复覆盖了传递给 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
  • 引入了用于异步布局 inflator 的新工厂。(Ia657b

错误修复

  • Toolbar 现在将在显示菜单之前调用 onPrepareMenu(),而不是在创建菜单时无条件地调用。(I2a58db/232206677
  • AppCompat 现在显式地依赖于 Lifecycle 2.5.1SavedState 1.2.0。(I7e3e2
  • AppCompatDelegateAppCompat 提供的 Toolbar 实现添加了对回退调用回调的支持。(I24062
  • 完成 AppCompat API 以用于 1.5.0-beta01 (I2a43db/236866227)
  • 完成 AppCompat API 以用于 1.5.0-beta01 (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 使用

错误修复

  • 在 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 以来的重要更改

  • 此稳定版本包括对夜间模式稳定性的改进、错误修复和对 AppCompat 支持的文本小部件的复合可绘制对象着色支持,以及对 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 包含这些提交。

错误修复

  • 修复了 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)

错误修复

  • 完成 AppCompat API 以用于 1.5.0-beta01 (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)

错误修复

  • AppCompat Toolbar 现在调用 MenuHostHelperonPrepareMenu() API。 (I9b9b5b/227376894)
  • AppCompatEditTextAppCompatAutoCompleteEditTextAppCompatMultiAutoCompleteEditText 在 XML 中设置时,将不再在构造函数中重置可点击或长按可点击。 (Ic5066b/221094907)
  • AppCompatEditTextAppCompatAutoCompleteTextViewAppCompatMultiAutoCompleteTextView 在构造函数期间不会调用覆盖的 setKeyListener。 (I5c13ab/208480173)
  • Appcompat 不会包装传递给 setKeyListenerNumberKeyListener 实例,允许 TextView 正确配置 NumberKeyListeners 上的区域设置。 (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 包含以下提交。

错误修复

  • 修复了 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 包含以下提交。

错误修复

  • AppCompatEditTextAppCompatAutoCompleteTextViewAppCompatMultiAutoCompleteTextView 在构造函数期间不会调用覆盖的 setKeyListener。 (I5c13ab/208480173)
  • Emoji2 不会包装 NumberKeyListener 实例,允许 textview 配置区域设置。
    • Appcompat 不会包装传递给 setKeyListenerNumberKeyListener 实例,允许 TextView 正确配置 NumberKeyListeners 上的区域设置。 (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 库默认启用可更新的表情符号支持
  • 改进了 Android Studio 的布局检查器中的属性检查。 (I02d55)
  • 在 AppCompat 资源加载回移植中添加了对嵌套着色资源和矢量可绘制对象的支持。但是,请注意,这意味着当启用回移植时,应用程序无法在自定义 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)

错误修复

  • 修复了 AppCompatProgressBar 对分层列表进度条的处理。 (I6ece3b/142004509)
  • AppCompatEditText 中正确保留 android:digits,这修复了 AppCompat 1.4.0-alpha03 中引入的错误 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 中的空 KeyListener。这反转了在 1.4-alpha01 中添加到 AppCompatEditText 的非空注解,并在传递 null 时恢复了以前的行为。 (I21482b/189559345)
  • 添加 PopupMenu.setForceShowIcon 以与平台 API 保持一致。 (I43bb3b/182789798)

错误修复

  • 修复了 AppCompatEditText 中的错误,该错误将重置 XML 中指定 getInputType 以删除变体。此错误是在 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 更改

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

错误修复

  • 修复了停止的活动未从 AppCompat 检测到的夜间模式更改中接收配置更改的问题。 (I8fa8fb/188681415)
  • 修复了 AppCompatEditText 中的错误,该错误会导致视图即使在 xml 中指定 android:focusable="false" 时也具有焦点(在 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 资源加载回退中添加了对嵌套着色资源和矢量可绘制对象的支持。但是请注意,这意味着在启用回退时,应用无法在自定义 Resources 对象上覆盖 getDrawable()。(Ia6b03b/176129022
  • 改进了布局检查器支持(I6d771

错误修复

  • 修复了在设置窗口回调后调用 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 以来的重要更改

  • 修复了在 Lollipop 之前的设备上跨 <include>d 布局传播 android:theme 属性的问题
  • 通过将许多 PNG 资源转换为 VectorDrawables 减少了库大小
  • 添加了对 AppCompatEditText 使用 OnReceiveContentListener 的拖放事件的支持
  • 更新以支持 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 包含这些提交。

错误修复

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

依赖项更新

外部贡献

  • 修复了在 Lollipop 之前的设备上跨 <include>d 布局传播 android:theme 属性的问题(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 包含这些提交。

新功能

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

API 更改

  • 在 AppCompatEditText 中集成了拖放(放置事件)和 OnReceiveContentListener。(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 包含这些提交。

错误修复

  • 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 的活动的 setActionBar 的调用
  • 在使用 AppCompatActivity 中的 View 时,添加了对 Lifecycle 2.3.0-alpha01 中的 ViewTreeLifecycleOwnerLifecycle 2.3.0-alpha03 中的 ViewTreeViewModelStoreOwnerSavedState 1.1.0-alpha01 中的 ViewTreeSavedStateRegistryOwner 的支持。(b/151603528aosp/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.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 版本包含以下提交。

错误修复

  • 修复了与夜间模式相关的问题,在对话框中调用 AppCompatDelegate.setDefaultNightMode 偶尔会导致 Activity 无法重新创建并应用新模式。 (aosp/1348308, b/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 更改

  • 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-beta01androidx.appcompat:appcompat-resources:1.2.0-beta01 已发布。 1.2.0-beta01 版本包含以下提交。

新功能

  • 添加了以下新的 lint 规则,这些规则将在以下情况下标记 AppCompat 的不正确用法
    • 加载颜色状态列表:建议使用 ContextCompatAppCompatResources API 以实现向后兼容性。
    • 加载 Drawable:建议使用 ContextCompatResourcesCompat 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-alpha03androidx.appcompat:appcompat-resources:1.2.0-alpha03 已发布。 1.2.0-alpha03 版本包含以下提交。

错误修复

  • 修复了操作模式状态防护错误地扩展到导航栏并具有错误颜色的问题 (Ia4a09)
  • 修复了在 API 级别 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 版本包含以下提交

错误修复

  • 修复了 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-alpha01androidx.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.0androidx.appcompat:appcompat-resources:1.1.0 已发布。此版本中包含的提交可以在这里找到 这里

自 1.0.0 以来重要更改

  • **深色模式改进**:MODE_NIGHT_AUTO 和基于当前时间切换深色/浅色现已弃用。请考虑使用显式设置或 MODE_NIGHT_AUTO_BATTERY
  • **Activity 1.0**:AppCompatActivity 现在通过 Fragment 1.1.0Activity 1.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-rc01androidx.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-beta01androidx.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-alpha05androidx.appcompat:appcompat-resources:1.1.0-alpha05 已发布。此版本中包含的提交可以在这里找到 这里

新功能

错误修复

  • 对 DayNight 模式进行了各种修复。
  • 在 ActionBar 中的任何背景更改时使轮廓无效。
  • 修复了 Spinner 控件的滚动问题。
  • 修复了在 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)

错误修复

  • 尽可能将内部依赖项固定到稳定版本。
  • 修复了 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 库包含允许应用程序在旧版平台上加载和着色 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 的 titleTextColorsubtitleTextColor 使用 ColorStateList,并添加了 ColorStateListsetTitleTextColorsetSubtitleTextColor 方法重载 (aosp/867489)

错误修复

  • 修复了 API 24 之前的版本中 fontFamily 不起作用的问题 (aosp/807054)
  • 修复了当 Activity 继承自 AppCompatActivitytextFontWeight 不起作用的错误 (aosp/847640)
  • 修复了导致 spinner 控件弹出窗口(使用对话框模式时)上的标题文本不使用 fontFamily 中指定的字体的错误 (aosp/789994)
  • 修复了阻止 AppCompatCheckBoxAppCompatRadioButton 控件更改背景色调的错误 (aosp/825160)
  • 修复了 AppCompat 未覆盖 android: list styles 的错误 (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 的错误修复版本。

错误修复

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

版本 1.0.0

版本 1.0.0

2018年11月7日

新功能