Совместимость с приложениями

Предоставляет доступ к новым API на более старых версиях API платформы (многие из которых используют Material Design).
Последнее обновление Стабильный релиз Предварительная версия релиза Бета-версия Альфа-версия
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, что дает возможность применять API initializeViewTreeOwners() из 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, благодаря чему теперь доступен API initializeViewTreeOwners() из 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 для элемента оформления диалога через API ViewTree , исправляя проблемы, возникающие при размещении 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 для декорирующего представления диалога через API ViewTree , исправляя проблемы при размещении 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 явно зависит от Lifecycle 2.5.1 и SavedState 1.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 содержит следующие коммиты.

Обновления зависимостей

Версия 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 ).

Исправлены ошибки

  • Toolbar AppCompat теперь вызывает API onPrepareMenu() 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 )
  • Исправлена ​​ошибка со всеми подклассами 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

  • Toolbar AndroidX 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 . Это критическое изменение для AppCompat 1.4.0-alpha01 , и приложениям необходимо убедиться, что зависимость AppCompat обновлена ​​для использования новой версии emoji2. ( Ie8397 )

Исправлены ошибки

  • Исправлена ​​ошибка, из-за которой остановленные действия не получали изменений конфигурации, внесенных с помощью инструментария AppCompat для ночного режима. ( I8fa8f , b/188681415 )
  • Исправлена ​​ошибка в AppCompatEditText из-за которой представления становились фокусируемыми, даже если в XML-файле было указано android:focusable="false" (ошибка, появившаяся в AppCompat 1.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 )

Обновления зависимостей

Внешний вклад

  • Обратная совместимость с возможностью изменения цвета фона и добавления галочки для 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 и Fragment 1.3.6 , поэтому исправления из этих релизов включаются по умолчанию при использовании AppCompat 1.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 до Fragment 1.3.4
    • Обновлено с версии Activity 1.0.0 до Activity 1.2.3
    • Обновлено с версии Lifecycle 2.0.0 до Lifecycle 2.3.1 .
    • Обновлено с версии Core 1.3.0 до Core 1.5.0

Версия 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.

Обновления зависимостей

Внешний вклад

  • Исправлено распространение атрибута 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 до Fragment 1.3.0-alpha08 . Настоятельно рекомендуется ознакомиться с примечаниями к выпуску Fragment 1.2.0 чтобы понять основные изменения, внесенные в предыдущем релизе Fragment.
  • AppCompat обновил свою зависимость с Activity 1.0.0 до Activity 1.2.0-alpha08 . Настоятельно рекомендуется ознакомиться с примечаниями к выпуску Activity 1.1.0 чтобы понять основные изменения, внесенные в предыдущем выпуске Activity.
    • Теперь AppCompatActivity использует API OnContextAvailableListener представленный в Activity 1.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 из Lifecycle 2.3.0-alpha01 , ViewTreeViewModelStoreOwner из Lifecycle 2.3.0-alpha03 и ViewTreeSavedStateRegistryOwner из SavedState 1.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 для обеспечения обратной совместимости.

Исправлены ошибки

  • Исправлена ​​ошибка, из-за которой 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 из Activity 1.0.0 через Fragment 1.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 . Список изменений, включенных в эту версию, можно найти здесь .

Новые функции

Исправлены ошибки

  • Различные исправления для режима «День-Ночь»
  • Отменить отображение контура при любом изменении фона в панели действий.
  • Исправлена ​​ошибка прокрутки виджета «спиннер»
  • Исправлена ​​ошибка, из-за которой пользовательские фоновые изображения окон переопределялись в 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 )
  • Разрешено использовать ColorStateList titleTextColor и subtitleTextColor панели инструментов, а также добавлены перегрузки методов setTitleTextColor и setSubtitleTextColor ColorStateList ( 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 приводил к сбою при использовании с RTL AppCompatTextView . b/113070424

Версия 1.0.0

Версия 1.0.0

7 ноября 2018 г.

Новые функции

  • AnimatedStateListDrawableCompat обеспечивает анимированные переходы между состояниями отображаемых объектов.