Совместимость с приложениями
| Последнее обновление | Стабильный релиз | Предварительная версия релиза | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 8 апреля 2026 г. | 1.7.1 | - | - | 1.8.0-alpha01 |
Объявление зависимостей
Чтобы добавить зависимость от Appcompat, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
классный
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" }
Котлин
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.8
Версия 1.8.0-alpha01
8 апреля 2026 г.
Выпущены androidx.appcompat:appcompat:1.8.0-alpha01 и androidx.appcompat:appcompat-resources:1.8.0-alpha01 . Версия 1.8.0-alpha01 содержит следующие коммиты .
Изменения в API
- Удаление устаревших аннотаций
@RequiresApi(21)( I44f33 ) - Новый API
TextAppearanceSpanCompatдля работы с функцией загружаемых шрифтов ( I9c1c8 , b/197242546 , b/393805627 )
Исправлены ошибки
- Перенос
minSdkпо умолчанию с API 21 на API 23 ( Ibdfca , b/380448311 , b/435705964 , b/435705223 ) -
AppCompatвнесены изменения, позволяющие использовать Activity 1.8.0, что дает возможность применять APIinitializeViewTreeOwners()изComponentActivityдля обеспечения всегда корректного значенияViewTreeOwners. ( I96919 , b/419208471 ) - Уточните
ActionBarContextViewиAppCompatDelegateImpl( Ia83b3 ) - В этой библиотеке теперь используются аннотации JSpecify, определяющие наличие нулевого значения , которые относятся к использованию типов. Разработчикам Kotlin следует использовать следующие аргументы компилятора для обеспечения корректного использования:
-Xjspecify-annotations=strict,-Xtype-enhancement-improvements-strict-mode( Id9081 , b/326456246 ) - Установите заголовок окна
AlertDialogsдля обеспечения доступности ( I8bbdd , b/347729115 ) - Удалено ручное описание доступа к новым API платформы, поскольку это происходит автоматически посредством моделирования API при использовании R8 с AGP 7.3 или более поздней версии (например, R8 версии 3.3) и для всех сборок при использовании AGP 8.1 или более поздней версии (например, D8 версии 8.1). Клиентам, не использующим AGP, рекомендуется обновиться до D8 версии 8.1 или более поздней. Подробнее см. в этой статье . ( I9496c , b/345472586 )
- Правильно установите
fontVariationSettingsизtextAppearanceв представленияхAppCompat. ( I20d06 , b/264321145 ) - Передача изменений конфигурации в
AppCompatActivityв дерево представлений ( Ibece8 , b/321896385 ) - Для использования проектов, выпущенных с Kotlin 2.0, требуется KGP 2.0.0 или более поздняя версия ( Idb6b5 , b/344563182 ).
- Исправить расчет высоты панели инструментов, чтобы он учитывал вертикальные поля заголовка/подзаголовка ( Ia5846 , b/267200424 )
Версия 1.7
Версия 1.7.1
4 июня 2025 г.
Выпущены androidx.appcompat:appcompat:1.7.1 и androidx.appcompat:appcompat-resources:1.7.1 . Версия 1.7.1 содержит следующие коммиты .
Исправлены ошибки
-
AppCompatвнесены изменения, позволяющие использовать Activity 1.8.0, благодаря чему теперь доступен APIinitializeViewTreeOwners()изComponentActivity, гарантирующий, чтоViewTreeOwnersвсегда будет установлен корректно. Это исправляет несовместимость междуAppCompatActivityи NavigationEvent , а также библиотеками, построенными на его основе, такими как Navigation 3. ( I96919 , b/419208471 )
Версия 1.7.0
29 мая 2024 г.
Выпущены androidx.appcompat:appcompat:1.7.0 и androidx.appcompat:appcompat-resources:1.7.0 . Версия 1.7.0 содержит следующие коммиты .
Важные изменения по сравнению с версией 1.6.0
- Теперь
AppCompatDialogкорректно устанавливает значенияLifecycleOwner,SavedStateRegistryOwnerиOnBackPressedDispatcherOwnerдля элемента оформления диалога через APIViewTree, исправляя проблемы, возникающие при размещенииComposeViewвнутриAppCompatDialog. - Теперь
AppCompatActivityустанавливаетViewTreeOnBackPressedDispatcherOwner, что позволяет получить диспетчер из представления. - Значительно улучшена производительность
SupportMenuInflater. - Теперь
Locale.getDefault()возвращает системную локаль после холодного запуска. - Теперь
LinearLayoutCompatсохраняет параметры компоновки полей.
Обновления зависимостей
- Теперь
AppCompatзависит от Activity 1.7.0. - Теперь
AppCompatзависит от версии Fragment 1.5.4.
Версия 1.7.0-rc01
14 мая 2024 г.
Выпущены androidx.appcompat:appcompat:1.7.0-rc01 и androidx.appcompat:appcompat-resources:1.7.0-rc01 . Версия 1.7.0-rc01 содержит следующие коммиты .
Версия 1.7.0-beta01
1 мая 2024 г.
Выпущены версии androidx.appcompat:appcompat:1.7.0-beta01 и androidx.appcompat:appcompat-resources:1.7.0-beta01 . Версия 1.7.0-beta01 содержит следующие коммиты .
Версия 1.7.0-alpha03
26 июля 2023 г.
Выпущены androidx.appcompat:appcompat:1.7.0-alpha03 и androidx.appcompat:appcompat-resources:1.7.0-alpha03 . Версия 1.7.0-alpha03 содержит следующие коммиты.
Новые функции
Поддержка получения локалей для каждого приложения в контекстах, отличных от Activity ( I58e753 ). Для этой функции добавлены четыре новых API:
LocaleManagerCompat.getApplicationLocales(): позволяет разработчикам получать региональные настройки для каждого приложения вне области видимости активности.ContextCompat.getString(): возвращает локализованные строки на основе языковых настроек приложения.ContextCompat.getContextForLanguage(): контекст, возвращаемый этим методом, будет учитывать языковые настройки конкретного приложения.ConfigurationCompat.setLocales(): для указанных выше API используется для установки локали конфигурации.
Другие изменения API
- Добавлена
setLineHeight(unit, lineHeight)в классы совместимостиTextView( Ia9fa9 ) - Добавлена
setLineHeight(unit, lineHeight)в классы совместимостиTextView( Ib2ee1 ). - Добавлена
setLineHeight(unit, lineHeight)в классы совместимостиTextView( I15716 )
Исправлены ошибки
- Теперь
AppCompatDialogкорректно устанавливаетLifecycleOwner,SavedStateRegistryOwnerиOnBackPressedDispatcherOwnerдля декорирующего представления диалога через APIViewTree, исправляя проблемы при размещенииComposeViewвнутриAppCompatDialog.AppCompatтеперь зависит от Activity 1.7.0. ( Ib28ab , b/261314581 ) - Значительно улучшена производительность
SupportMenuInflater( I0b087 )
Версия 1.7.0-alpha02
8 февраля 2023 г.
Выпущены 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
5 октября 2022 г.
Выпущены 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
8 февраля 2023 г.
Выпущены 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
11 января 2023 г.
Выпущены androidx.appcompat:appcompat:1.6.0 и androidx.appcompat:appcompat-resources:1.6.0 . Версия 1.6.0 содержит следующие коммиты.
Важные изменения с версии 1.5.0
- Добавлена поддержка настройки языковых параметров приложения. Дополнительную информацию см. в методе
AppCompatDelegate.setApplicationLocales(LocaleListCompat). Обеспечивает обратную совместимость с новым API настроек для каждого языка, доступным в Android 13. - Обновления, касающиеся возможности обнуления, для соответствия SDK Android 13 (Tiramisu, уровень API 33).
- Добавлены совместимые классы
DrawableWrapper,DrawableContainerиStateListDrawableв публичный API.
Версия 1.6.0-rc01
7 сентября 2022 г.
Выпущены 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
10 августа 2022 г.
Выпущены 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 ) - Вводит новую фабрику для асинхронного создания макетов. ( Ia657b )
Исправлены ошибки
- Теперь
Toolbarбудет вызыватьonPrepareMenu()перед отображением меню, а не безусловно при его создании. ( I2a58d , b/232206677 ) - Теперь
AppCompatявно зависит отLifecycle2.5.1иSavedState1.2.0. ( I7e3e2 ) - Добавлена поддержка обратного вызова функции обратного вызова в
AppCompatDelegateи в реализацию панели инструментов, предоставляемуюAppCompat. ( I24062 ) - Завершение разработки API
AppCompatдля версии 1.5.0-beta01 ( I2a43d , b/236866227 ) - Завершение разработки API
AppCompatдля версии 1.5.0-beta01 ( I2a43d , b/236866227 )
Версия 1.6.0-alpha05
15 июня 2022 г.
Выпущены androidx.appcompat:appcompat:1.6.0-alpha05 и androidx.appcompat:appcompat-resources:1.6.0-alpha05 . Версия 1.6.0-alpha05 разрабатывалась в закрытой ветке предварительного релиза и не имеет публичных коммитов.
Изменения в API
- Обновления, касающиеся возможности использования значений null, для соответствия окончательной версии API в SDK Tiramisu Beta 3.
-
minCompileSdkтеперь равно 33, чтобы соответствовать SDK Tiramisu Beta 3.
Версия 1.6.0-alpha04
18 мая 2022 г.
Библиотеки 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
27 апреля 2022 г.
Выпущены версии 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
23 февраля 2022 г.
Выпущены 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). Обеспечивает обратную совместимость с новым API настроек для каждого языка, доступным в Android 13.
Версия 1.5.1
Версия 1.5.1
7 сентября 2022 г.
Выпущены 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
10 августа 2022 г.
Выпущены 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
27 июля 2022 г.
Выпущены 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
13 июля 2022 г.
Выпущены androidx.appcompat:appcompat:1.5.0-beta01 и androidx.appcompat:appcompat-resources:1.5.0-beta01 . Версия 1.5.0-beta01 содержит следующие коммиты.
Изменения в API
- Добавьте переопределяемый флаг для отключения регулировки ширины переключателя по умолчанию. ( I37cb7 )
- Добавить аннотацию
@FloatRangeк API для получения положения ползунка ( If524c ) - Добавить отсутствующие аннотации допустимости значений null в
AnimatedStateListDrawableCompat( Ieb4ec )
Исправлены ошибки
- Завершение разработки API
AppCompatдля версии 1.5.0-beta01 ( I2a43d , b/236866227 ) - Изменение значения
classNameдляActionMenuItemView, чтобы он обрабатывался какButton( I5ee1c )
Версия 1.5.0-alpha01
6 апреля 2022 г.
Выпущены 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 )
- Добавлена возможность переноса составной тонировки отображаемых данных в виджеты, производные от TextView ( Idf98c , b/165822337 )
-
AppCompatDialogтеперь расширяетComponentDialogдля совместимости сOnBackPressedDispatcher( Id9b91 , b/217620781 ). -
SearchView.onQueryRefine()теперь имеет защищенную видимость, что позволяет переопределять его параметры ( I6cce0 , b/212882845 ).
Исправлены ошибки
-
ToolbarAppCompat теперь вызывает APIonPrepareMenu()MenuHostHelper. ( I9b9b5 , б/227376894 ) -
AppCompatEditText,AppCompatAutoCompleteEditText,AppCompatMultiAutoCompleteEditTextбольше не будут сбрасывать значения clickable или longClickable в конструкторе, если они заданы в XML ( Ic5066 , b/221094907 ). -
AppCompatEditText,AppCompatAutoCompleteTextViewиAppCompatMultiAutoCompleteTextViewне будут вызывать переопределенныйsetKeyListenerв конструкторе ( I5c13a , b/208480173 ). - Appcompat не будет оборачивать экземпляры
NumberKeyListenerпередаваемые вsetKeyListener, что позволитTextViewкорректно настраивать локаль дляNumberKeyListeners( Ibf113 , b/207119921 ). - Исправлена ошибка во всех подклассах
NumberKeyListenerпоявившихся в AppCompat 1.4.0, которая позволяла вводить неожиданные символы, такие как знаки препинания ( Iede7a , b/207119921 ).
Версия 1.4.2
Версия 1.4.2
1 июня 2022 г.
Выпущены 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
12 января 2022 г.
Выпущены 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, что позволит настраивать локаль с помощью текстового поля.- Appcompat не будет оборачивать экземпляры
NumberKeyListenerпередаваемые вsetKeyListener, что позволитTextViewкорректно настраивать локаль дляNumberKeyListeners. ( Ibf113 , b/207119921 )
- Appcompat не будет оборачивать экземпляры
- Исправлена ошибка со всеми подклассами
NumberKeyListenerпоявившаяся в appcompat 1.4.0, которая позволяла вводить неожиданные символы, такие как знаки препинания (b/207119921) ( Iede7a , b/207119921 ).
Версия 1.4.0
Версия 1.4.0
17 ноября 2021 г.
Выпущены 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. Однако следует отметить, что это означает, что приложения не могут переопределять метод getDrawable() для пользовательского объекта Resources, если включены бэкпорты. ( Ia6b03 , b/176129022 )
- Добавлена возможность изменения цвета фона и добавления галочки для CheckedTextView ( I8575c ).
Версия 1.4.0-rc01
27 октября 2021 г.
Выпущены androidx.appcompat:appcompat:1.4.0-rc01 и androidx.appcompat:appcompat-resources:1.4.0-rc01 . Версия 1.4.0-rc01 содержит следующие коммиты.
Версия 1.4.0-beta01
29 сентября 2021 г.
Выпущены androidx.appcompat:appcompat:1.4.0-beta01 и androidx.appcompat:appcompat-resources:1.4.0-beta01 . Версия 1.4.0-beta01 содержит следующие коммиты.
Изменения в API
-
ToolbarAndroidX AppCompat теперь являетсяMenuHostи может управлятьMenuProvider. ( I5cd95 )
Исправлены ошибки
- Исправлена обработка индикаторов выполнения списка слоев в AppCompatProgressBar ( I6ece3 , b/142004509 )
- Корректное сохранение
android:digitsвAppCompatEditText, это исправляет ошибку 193047889, появившуюся в AppCompat 1.4.0-alpha03. ( I4b4fc , b/193047889 ) - Интегрированный SDK OnReceiveContentListener и API вспомогательной библиотеки. ( Ic6914 , b/173814913 )
Версия 1.4.0-alpha03
30 июня 2021 г.
Выпущены androidx.appcompat:appcompat:1.4.0-alpha03 и androidx.appcompat:appcompat-resources:1.4.0-alpha03 . Версия 1.4.0-alpha03 содержит следующие коммиты.
Новые функции
- Теперь библиотека ориентирована на язык Java 8.
- Добавлена поддержка emoji2 для большего количества подклассов TextView (
AppCompatMultiAutoCompleteTextView,AppCompatAutoCompleteTextView,AppCompatRadioButton,AppCompatCheckBox).
Изменения в API
- Добавлен API для настройки InputConnection на использование View.performReceiveContent для обработки вызовов IME к InputConnection.commitContent. ( I3a2ad )
- Добавлена поддержка EmojiCompat в
AppCompatMultiAutoCompleteTextView( Ifece0 ) - Добавлена поддержка EmojiCompat в
AppCompatAutoCompleteTextView( Ia1f4b ) - Добавить поддержку EmojiCompat в
AppCompatRadioButton( If08af ) - Добавить поддержку EmojiCompat в
AppCompatCheckBox( I2b3bc ) - Разрешить использование нулевого
KeyListenerвAppCompatEditText. Это отменяет добавленную в AppCompatEditText в версии 1.4-alpha01 аннотацию, разрешающую использование нулевого значения, и восстанавливает предыдущее поведение при передаче нулевого значения. ( I21482 , b/189559345 ) - Добавьте
PopupMenu.setForceShowIconдля обеспечения совместимости с API платформы ( I43bb3 , b/182789798 ).
Исправлены ошибки
- Исправлена ошибка в AppCompatEditText, из-за которой значение inputType, указанное в XML, сбрасывалось для удаления вариантов. Эта ошибка появилась в AppCompat 1.4.0-alpha01. ( I9df36 , b/191061070 )
Версия 1.4.0-alpha02
2 июня 2021 г.
Выпущены 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
18 мая 2021 г.
Выпущены 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. Однако следует отметить, что это означает, что приложения не могут переопределять
getDrawable()для пользовательского объекта Resources, если включены бэкпорты. ( Ia6b03 , b/176129022 ) - Улучшена поддержка инспектора компоновки ( I6d771 )
Исправлены ошибки
- Исправлена ошибка, из-за которой вызов функции setSupportActionBar после установки функции обратного вызова окна перезаписывал эту функцию. ( IE43EE , b/186791590 )
- Добавлено обходное решение проблемы в SDK 29 и 30, из-за которой ресурсы ColorStateListDrawable, клонированные из кэша drawable, не загружают цвет по умолчанию до тех пор, пока не произойдет изменение состояния. ( Iedb4b )
- Избегайте ошибок NullPointerException при обработке обратных вызовов режима выбора с нулевым значением в представлениях, использующих AppCompat. ( 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
21 июля 2021 г.
Выпущены 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
18 мая 2021 г.
Выпущены androidx.appcompat:appcompat:1.3.0 и androidx.appcompat:appcompat-resources:1.3.0 . Версия 1.3.0 содержит следующие коммиты.
Важные изменения по сравнению с версией 1.2.0
- Исправлено распространение атрибутов
android:themeмежду макетами<include>на устройствах до Lollipop. - Уменьшен размер библиотеки за счет преобразования многих PNG-ресурсов в векторные изображения (VectorDrawables).
- Добавлена поддержка событий перетаскивания (drag-and-drop) для
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
24 марта 2021 г.
Выпущены 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 )
Внешний вклад
- Исправлено распространение атрибута
android:themeмежду макетами<include>на устройствах до Lollipop (Саймон Бергнер из Opera)
Версия 1.3.0-beta01
13 января 2021 г.
Выпущены 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 ) - Перемещен виджет.RichContentReceiverCompat в view.OnReceiveContentListener. ( Ifdab7 , b/173814913 )
- API для предоставления и получения исходного окружающего текста были перенесены в
EditorInfoCompat. Они позволяют приложениям IME избегать дополнительной задержки межпроцессного взаимодействия ( IE3809 ).
Версия 1.3.0-alpha02
19 августа 2020 г.
Выпущены версии androidx.appcompat:appcompat:1.3.0-alpha02 и androidx.appcompat:appcompat-resources:1.3.0-alpha02 . Версия 1.3.0-alpha02 содержит следующие коммиты.
Исправлены ошибки
- Изображения AppCompatRatingBar в формате PNG заменены векторными источниками. Это может вызвать незначительные изменения во внешнем виде отдельных звёздочек. ( I6b99d )
- Обновите WindowInsetsCompat до API Android 11 ( 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использует APIOnContextAvailableListenerпредставленный в Activity1.2.0-alpha08, для настройкиAppCompatDelegate. Любые слушатели, добавленные к подклассамAppCompatActivity, будут выполняться после этого слушателя. ( I513da )
- Теперь
Версия 1.3.0-alpha01
20 мая 2020 г.
Выпущены androidx.appcompat:appcompat:1.3.0-alpha01 и androidx.appcompat:appcompat-resources:1.3.0-alpha01 . Версия 1.3.0-alpha01 содержит следующие коммиты.
Новые функции
- Добавьте новое правило Lint для пометки вызовов setActionBar в действиях, наследующих AppCompatActivity.
- Добавлена поддержка
ViewTreeLifecycleOwnerиз Lifecycle2.3.0-alpha01,ViewTreeViewModelStoreOwnerиз Lifecycle2.3.0-alpha03иViewTreeSavedStateRegistryOwnerиз SavedState1.1.0-alpha01при использованииViewвнутриAppCompatActivity. ( b/151603528 , aosp/1300264 ) - Добавлен общий API для вставки расширенного контента (например, вставки изображения). Новый коллбэк предоставляет единый API, который приложения могут реализовать для поддержки различных способов вставки расширенного контента. На данный момент API добавлен только в
AppCompatEditTextи будет вызываться для следующих участков кода:- вставить из буфера обмена
- Вставка контента из IME (
InputConnection.commitContent) ( I22bf7 )
Исправлены ошибки
- Начиная с AppCompat
1.2.0-rc01: AppCompat больше не вызываетonMenuOpened()сnullменю. ( b/142843126 ) - Корректное определение цветов текстовых ссылок и подсказок на старых устройствах при вызове метода TextViewCompat.setTextAppearance со стилем оформления текста, содержащим списки состояний цвета, ссылающиеся на атрибуты цвета темы ( b/154702995 )
Версия 1.2.0
Версия 1.2.0
5 августа 2020 г.
Выпущены 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
22 июля 2020 г.
Выпущены androidx.appcompat:appcompat:1.2.0-rc02 и androidx.appcompat:appcompat-resources:1.2.0-rc02 . Версия 1.2.0-rc02 содержит следующие коммиты.
Исправлены ошибки
- Исправлена ошибка, связанная с ночным режимом, из-за которой вызов
AppCompatDelegate.setDefaultNightModeиз диалогового окна иногда не приводил к повторному созданию действий и применению нового режима. ( aosp/1348308 , b/158923881 )
Версия 1.2.0-rc01
14 мая 2020 г.
Выпущены androidx.appcompat:appcompat:1.2.0-rc01 и androidx.appcompat:appcompat-resources:1.2.0-rc01 . Версия 1.2.0-rc01 содержит следующие коммиты.
Изменения в API
- Для использования
AppCompatDelegate.setLocalNightModeтребуется версия SDK 17 или выше из-за проблемы платформы, связанной с утечкой изменений конфигурации между Activity в более ранних версиях SDK.
Исправлены ошибки
- Теперь
AppCompatDelegate.setLocalNightModeможно вызывать перед вызовомActivity.attachBaseContext - Исправлено некорректное использование кэшированных отступов
ActionBarOverlayLayout - Функция AppCompat больше не вызывает
onMenuOpened()сnullменю. ( b/142843126 )
Версия 1.2.0-beta01
1 апреля 2020 г.
Выпущены androidx.appcompat:appcompat:1.2.0-beta01 и androidx.appcompat:appcompat-resources:1.2.0-beta01 . Версия 1.2.0-beta01 содержит следующие коммиты.
Новые функции
- Добавлены следующие новые правила проверки кода, которые будут выявлять некорректное использование AppCompat в следующих сценариях:
- Загрузка списков состояний цвета: предлагается использовать API
ContextCompatиAppCompatResourcesдля обратной совместимости. - Загрузка ресурсов: для обеспечения обратной совместимости рекомендуется использовать API
ContextCompatиResourcesCompat - Использование списков состояний цвета с атрибутом alpha: flags не имеет атрибута
android:alpha, что приведет к некорректному отображению на некоторых версиях платформы. - Изменение цвета изображений: флаги, не использующие
app:tint, приведут к некорректному отображению на старых версиях платформы. - Использование составных графических элементов и тонирование текстовых полей: рекомендуется использовать атрибуты совместимости и API для обеспечения обратной совместимости.
- Загрузка списков состояний цвета: предлагается использовать API
Исправлены ошибки
- Исправлена ошибка, из-за которой
ActionBarOverlayLayout(действие оформления окна) некорректно отправлял WindowInsets. - Исправлены ошибки в тонировании графических элементов и отображении текста в старых версиях платформы.
- Исправлена ошибка, из-за которой
androidx.appcompat:appcompat:1.1.0приводил к сбою webview при длительном нажатии ( b/141351441 ) - Внесены исправления в проблемы, связанные с манипулированием базовым контекстом и получением системных служб во время запуска активности.
Версия 1.2.0-alpha03
4 марта 2020 г.
Выпущены версии androidx.appcompat:appcompat:1.2.0-alpha03 и androidx.appcompat:appcompat-resources:1.2.0-alpha03 . Версия 1.2.0-alpha03 содержит следующие коммиты.
Исправлены ошибки
- Исправлена ошибка, из-за которой индикатор состояния в режиме действий ошибочно выходил за пределы панели навигации и имел неправильный цвет ( Ia4a09 ).
- Исправлена ошибка, из-за которой остановленные действия не возобновлялись на API уровня 23 и ниже ( I45201 ).
Версия 1.2.0-alpha02
29 января 2020 г.
Выпущены версии 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 )
- Исправлена ошибка тонирования отображаемых объектов в TextView относительно составных отображаемых объектов на уровне API 23 ( aosp/1172194 )
- Обеспечено, что базовый контекст всегда является оберткой ( aosp/1194355 )
- Внесены некоторые улучшения для более интеллектуального изменения конфигурации базового контекста ( aosp/1204543 )
- Функция
createConfigurationContext()отключена для Robolectric ( aosp/1186218 )
Версия 1.2.0-alpha01
4 декабря 2019 г.
Выпущены версии androidx.appcompat:appcompat:1.2.0-alpha01 и androidx.appcompat:appcompat-resources:1.2.0-alpha01 . Версия 1.2.0-alpha01 содержит следующие коммиты .
Исправлены ошибки
- В строгом режиме с включенными проверками, учитывающими процесс загрузки, вызовы метода PackageManager.getActivityInfo больше не приводят к сбоям.
- Исправлены ошибки, связанные с изменением цвета графических элементов на кнопке AppCompatButton.
- Исправлены ошибки в отображении цвета и текста в старых версиях платформы.
Версия 1.1.0
Версия 1.1.0
5 сентября 2019 г.
Выпущены версии 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транзитивно наследуется отComponentActivityиз Activity1.0.0через Fragment1.1.0. Информацию об изменениях в каждой библиотеке см. в соответствующих примечаниях к выпуску. - Конструктор LayoutId класса AppCompatActivity : теперь подклассы
AppCompatActivityмогут опционально вызывать конструктор классаAppCompatActivity, принимающий идентификаторR.layout, указывающий макет, который должен быть установлен в качестве представления содержимого, в качестве альтернативы вызовуsetContentView()вonCreate(). Это не меняет требования о наличии у вашего подкласса конструктора без аргументов.
Версия 1.1.0-rc01
2 июля 2019 г.
Выпущены версии androidx.appcompat:appcompat:1.1.0-rc01 и androidx.appcompat:appcompat-resources:1.1.0-rc01 . Список изменений, включенных в эту версию, можно найти здесь .
Исправлены ошибки
- Теперь DayNight корректно обрабатывает
configChanges( aosp/981105 ) - Вызывайте
onConfigurationChangedтолько при запущенных действиях ( aosp/987483 )
Версия 1.1.0-beta01
5 июня 2019 г.
Выпущены версии androidx.appcompat:appcompat:1.1.0-beta01 и androidx.appcompat:appcompat-resources:1.1.0-beta01 . Список изменений, включенных в эту версию, можно найти здесь .
Исправлены ошибки
- Убедитесь, что мы очистили обработчики событий в AppCompatDialogs ( aosp/959376 )
- Добавить поддержку параметра
buttonGravity=center_verticalна панели инструментов ( b/130361721 ) - Исправление горизонтального смещения индикатора ( b/79477181 )
Версия 1.1.0-alpha05
7 мая 2019 г.
Выпущены версии androidx.appcompat:appcompat:1.1.0-alpha05 и androidx.appcompat:appcompat-resources:1.1.0-alpha05 . Список изменений, включенных в эту версию, можно найти здесь .
Новые функции
- Функция setDefaultNightMode() теперь автоматически воссоздает все запущенные действия.
Исправлены ошибки
- Различные исправления для режима «День-Ночь»
- Отменить отображение контура при любом изменении фона в панели действий.
- Исправлена ошибка прокрутки виджета «спиннер»
- Исправлена ошибка, из-за которой пользовательские фоновые изображения окон переопределялись в AlertDialog.
Версия 1.1.0-alpha04
3 апреля 2019 г.
Выпущены версии androidx.appcompat:appcompat:1.1.0-alpha04 и androidx.appcompat:appcompat-resources:1.1.0-alpha04 . Список изменений, включенных в эту версию, можно найти здесь .
Новые функции
- Добавлено новое семейство тем
ThemeOverlay.AppCompat.DayNight. Их следует использовать при включении функции «День/Ночь».
изменения API
- Теперь класс AppCompatActivity содержит второй конструктор, принимающий
@LayoutRes int, что заменяет предыдущее поведение, заключавшееся в аннотировании класса AppCompatActivity аннотацией@ContentView. Этот подход работает как в модулях приложений, так и в модулях библиотек. ( b/128352521 )
Исправлены ошибки
- Внутренние зависимости были по возможности привязаны к стабильным версиям.
- Исправлена прокрутка
AppCompatSpinnerв режиме выпадающего списка ) b/124274573 ) - Вызывайте
applyOverrideConfiguration()только при необходимости для режима День-Ночь.
Версия 1.1.0-alpha03
13 марта 2019 г.
Выпущены androidx.appcompat:appcompat:1.1.0-alpha03 и androidx.appcompat:appcompat-resources:1.1.0-alpha03 . Это первый релиз appcompat-resources . Полный список изменений, включенных в эту версию, можно найти здесь .
Новые функции
- Новая библиотека appcompat-resources содержит API, позволяющие приложениям загружать и изменять цвет графических ресурсов (включая векторные изображения) в более старых версиях платформы. Это та же функциональность, которая ранее была частью модуля appcompat, но теперь доступна без дополнительных затрат, связанных с полной интеграцией Material Design в appcompat, включая виджеты, диалоги, ночной режим и т. д.
- Значительные исправления в поддержке режима «День-Ночь».
- Новая опция
MODE_NIGHT_AUTO_BATTERYдля режима День-Ночь - Оттенение отображаемых объектов в
AppCompatTextView - Теперь переполнение панели инструментов можно стилизовать с помощью тематических цветовых списков состояний.
- Теперь значки меню могут использовать цвета, которые соответствуют атрибутам темы.
- Новый атрибут `app:menu` можно установить для панели инструментов, чтобы отображать содержимое меню во время создания объекта.
Исправлены ошибки
- Исправлен режим тонирования по умолчанию в ImageView в версии 21.
- Исправлена ошибка, из-за которой всплывающее окно со спиннером некорректно закрывалось при повороте устройства.
- Исправлена ошибка, из-за которой DayNight не учитывал
configChangesв манифесте. - Исправлена ошибка, из-за которой переключение в режим
MODE_NIGHT_FOLLOW_SYSTEMне работало ( b/111345020 ) - Исправлена ошибка, из-за которой WebView сбрасывал ресурсы дня и ночи ( b/37124582 )
Версия 1.1.0-alpha02
7 февраля 2019 г.
Выпущена версия androidx.appcompat:appcompat 1.1.0-alpha02 .
Новые функции
- Вынесена обработка отрисовки, специфичная для ресурса, в отдельный хук ( aosp/870976 )
- Разрешено использовать
ColorStateListtitleTextColorиsubtitleTextColorпанели инструментов, а также добавлены перегрузки методовsetTitleTextColorиsetSubtitleTextColorColorStateList( aosp/867489 )
Исправлены ошибки
- Исправлена ошибка, из-за которой
fontFamilyне работал в версиях API до 24 ( aosp/807054 ). - Исправлена ошибка, из-за которой
textFontWeightне работал, если активность наследуется отAppCompatActivity( aosp/847640 ) - Исправлена ошибка, из-за которой заголовок всплывающего окна виджета-спиннера (в режиме диалога) не использовал шрифт, указанный в
fontFamily( aosp/789994 ). - Исправлена ошибка, из-за которой виджеты
AppCompatCheckBoxиAppCompatRadioButtonне могли изменять оттенок фона ( aosp/825160 ) - Исправлена ошибка, из-за которой AppCompat не переопределял
android: list styles( aosp/862350 )
Версия 1.1.0-alpha01
3 декабря 2018 г.
Новые функции
Теперь 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
7 ноября 2018 г.
Выпущены исправления ошибок в версиях core-1.0.1 и appcompat-1.0.2 .
Исправлены ошибки
- Исправлена ошибка, из-за которой
PrecomputedTextCompatприводил к сбою при использовании с RTLAppCompatTextView. b/113070424
Версия 1.0.0
Версия 1.0.0
7 ноября 2018 г.
Новые функции
-
AnimatedStateListDrawableCompatобеспечивает анимированные переходы между состояниями отображаемых объектов.