Appcompat
| Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-релиз | Альфа-релиз |
|---|---|---|---|---|
| 4 июня 2025 г. | 1.7.1 | - | - | - |
Объявление зависимостей
Чтобы добавить зависимость от 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 лучше. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Более подробную информацию смотрите в документации Issue Tracker .
Версия 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, чтобы позволить ему использоватьinitializeViewTreeOwners()API из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-альфа03
26 июля 2023 г.
Выпущены androidx.appcompat:appcompat:1.7.0-alpha03 и androidx.appcompat:appcompat-resources:1.7.0-alpha03 . Версия 1.7.0-alpha03 содержит эти коммиты.
Новые возможности
Поддержка получения локалей для каждого приложения в неактивных контекстах ( 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-альфа02
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-альфа01
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. - Обновления, касающиеся допустимости значений NULL, для соответствия SDK Android 13 (Tiramisu, API level 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-альфа05
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 для соответствия Tiramisu Beta 3 SDK
Версия 1.6.0-альфа04
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-альфа03
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-альфа01
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-альфа01
6 апреля 2022 г.
Выпущены androidx.appcompat:appcompat:1.5.0-alpha01 и androidx.appcompat:appcompat-resources:1.5.0-alpha01 . Версия 1.5.0-alpha01 содержит эти коммиты.
Изменения API
- Добавлен новый API для предоставления подклассам информации о положении ползунка переключателя ( I9bfb4 ).
- Обновлена возможность значения NULL для соответствия 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, позволяя настраивать локаль с помощью textview.- 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 ) - Интегрированный OnReceiveContentListener SDK и поддержка API библиотек. ( Ic6914 , b/173814913 )
Версия 1.4.0-альфа03
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 ) - Разрешить null
KeyListenerвAppCompatEditText. Это отменяет ненулевую аннотацию, добавленную в AppCompatEditText в 1.4-alpha01, и восстанавливает предыдущее поведение при передаче null. ( I21482 , b/189559345 ) - Добавьте
PopupMenu.setForceShowIconдля соответствия API платформы ( I43bb3 , b/182789798 )
Исправление ошибок
- Исправлена ошибка в AppCompatEditText, которая сбрасывает inputType, указанный в XML, чтобы удалить вариации. Эта ошибка появилась в AppCompat 1.4.0-alpha01. ( I9df36 , b/191061070 )
Версия 1.4.0-альфа02
2 июня 2021 г.
Выпущены androidx.appcompat:appcompat:1.4.0-alpha02 и androidx.appcompat:appcompat-resources:1.4.0-alpha02 . Версия 1.4.0-alpha02 содержит эти коммиты.
Изменения API
- Добавлен конструктор
AppCompatDialogFragment, который принимает идентификатор макета ( 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-альфа01
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, клонированные из кэша рисования, не загружают цвет по умолчанию, пока не получат изменение состояния. ( Iedb4b )
- Избегайте NPE при обработке обратных вызовов режима действия пользовательского выбора null в представлениях, поддерживаемых 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>d на устройствах до Lollipop. - Уменьшен размер библиотеки за счет преобразования многих ресурсов PNG в VectorDrawables
- Добавлена поддержка событий перетаскивания в
AppCompatEditTextсOnReceiveContentListener - Обновлено для поддержки изменений в обработке вставок окон Android 11.
- Добавлена поддержка RTL в пунктах меню со значками.
Добавлена поддержка вставки расширенного контента (например, вставки изображения) в
AppCompatEditTextОбновлены зависимости :
appcompatобновил многие из своих транзитивных зависимостей для поддержки новых функций и исправлений:- Обновлено с Фрагмента
1.1.0до Фрагмента1.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
- Обновлено с Фрагмента
Версия 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>d на устройствах до 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 ) - Перемещен widget.RichContentReceiverCompat в view.OnReceiveContentListener. ( Ifdab7 , b/173814913 )
- API для предоставления и извлечения начального окружающего текста были перенесены в
EditorInfoCompat. Они позволяют приложениям IME избегать дополнительной задержки IPC. ( Ie3809 )
Версия 1.3.0-альфа02
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-альфа01
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 содержит эти коммиты.
Новые возможности
- Добавлены следующие новые правила lint, которые будут отмечать неправильное использование AppCompat в следующих сценариях:
- Загрузка списков состояний цвета: предлагается использовать API
ContextCompatиAppCompatResourcesдля обратной совместимости. - Загрузка рисунков: предлагается использовать API
ContextCompatиResourcesCompatдля обратной совместимости. - Использование списков состояний цвета с атрибутом альфа: флаги отсутствия атрибута
android:alpha, что приведет к неправильному отображению на некоторых версиях платформы - Тонирование изображений: флаги, не использующие
app:tint, что приведет к неправильному отображению на старых версиях платформы. - Использование составных рисунков и тонирования в текстовых представлениях: предлагает использовать атрибуты совместимости и API для обратной совместимости.
- Загрузка списков состояний цвета: предлагается использовать API
Исправление ошибок
- Исправлена ошибка, из-за которой
ActionBarOverlayLayout(действие декора окна) некорректно отправлял WindowInsets. - Исправлены проблемы с тонированием рисунков и внешним видом текста на старых версиях платформы.
- Исправлена ошибка, из-за которой
androidx.appcompat:appcompat:1.1.0приводил к сбою WebView при длительном нажатии ( b/141351441 ) - Реализованы исправления проблем с манипуляцией базовым контекстом и получением системных служб во время запуска активности.
Версия 1.2.0-альфа03
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-альфа02
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 приводил к сбою веб-просмотра при длительном нажатии ( b/141351441 )
- Исправлено тонирование рисуемых объектов в TextView относительно составных рисуемых объектов на уровне API 23 ( aosp/1172194 )
- Гарантировано, что базовый контекст всегда является оберткой ( aosp/1194355 )
- Добавлены некоторые улучшения, позволяющие более эффективно изменять базовую конфигурацию контекста ( aosp/1204543 ).
- Отключено
createConfigurationContext()для Robolectric ( aosp/1186218 )
Версия 1.2.0-альфа01
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. Информацию об изменениях в каждой библиотеке см. в соответствующих примечаниях к выпуску. - Конструктор AppCompatActivity LayoutId : Подклассы
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-альфа05
7 мая 2019 г.
Выпущены androidx.appcompat:appcompat:1.1.0-alpha05 и androidx.appcompat:appcompat-resources:1.1.0-alpha05 . Коммиты, включенные в эту версию, можно найти здесь .
Новые возможности
- setDefaultNightMode() теперь автоматически воссоздает все запущенные действия.
Исправления ошибок
- Различные исправления в режиме «День-Ночь»
- Отменить контур при любом изменении фона в ActionBar
- Исправлена прокрутка виджета spinner
- Исправлена ошибка, из-за которой пользовательские фоны окон переопределялись в AlertDialog.
Версия 1.1.0-альфа04
3 апреля 2019 г.
Выпущены androidx.appcompat:appcompat:1.1.0-alpha04 и androidx.appcompat:appcompat-resources:1.1.0-alpha04 . Коммиты, включенные в эту версию, можно найти здесь .
Новые возможности
- Добавлено новое семейство тем
ThemeOverlay.AppCompat.DayNight. Их следует использовать при использовании функции DayNight.
Изменения API
- AppCompatActivity теперь содержит второй конструктор, который принимает
@LayoutRes int, что заменяет предыдущее поведение аннотирования вашего класса AppCompatActivity с помощью@ContentView. Этот подход работает как в модулях приложений, так и в модулях библиотек. ( b/128352521 )
Исправления ошибок
- Закреплены внутренние зависимости в стабильных версиях, где это возможно.
- Исправлена прокрутка
AppCompatSpinnerв раскрывающемся режиме ) b/124274573 ) - Вызывает
applyOverrideConfiguration()только в случае необходимости для DayNight
Версия 1.1.0-альфа03
13 марта 2019 г.
Выпущены androidx.appcompat:appcompat:1.1.0-alpha03 и androidx.appcompat:appcompat-resources:1.1.0-alpha03 . Это первый выпуск appcompat-resources . Полный список коммитов, включенных в эту версию, можно найти здесь .
Новые возможности
- Новая библиотека appcompat-resources содержит API, которые позволяют приложениям загружать и тонировать чертежи (включая векторные чертежи) на старых версиях платформы. Это та же функциональность, которая ранее была частью модуля appcompat, но теперь доступна без накладных расходов полного backport appcompat Material design, который включает виджеты, диалоги, ночной режим и т. д.
- Значительные исправления поддержки режима DayNight
- Новая опция
MODE_NIGHT_AUTO_BATTERYдля режима День-Ночь - Рисуемая тонировка в
AppCompatTextView - Переполнение панели инструментов теперь можно оформить с помощью тематических списков цветовых состояний
- Значки меню теперь могут использовать цвета, соответствующие атрибутам темы.
- Новый атрибут app:menu можно установить на панели инструментов, чтобы предоставить содержимое меню во время инфляции.
Исправления ошибок
- Исправлен режим оттенка по умолчанию в ImageView в версии 21.
- Исправлено некорректное закрытие всплывающего окна при повороте устройства.
- Исправлена ошибка DayNight, не учитывающая
configChangesв манифесте. - Исправлено переключение на
MODE_NIGHT_FOLLOW_SYSTEM, которое не работало ( b/111345020 ) - Исправлен сброс WebView DayNight Resources ( b/37124582 )
Версия 1.1.0-альфа02
7 февраля 2019 г.
Выпущен androidx.appcompat:appcompat 1.1.0-alpha02 .
Новые возможности
- Извлеченные ресурсы для притяжения в притяжение в крючок ( AOSP/870976 )
- Разрешенная панель инструментов
titleTextColorиsubtitleTextColorдля использованияColorStateListи добавленных перегрузкиColorStateListв методахsetTitleTextColorиsetSubtitleTextColor( AOSP/867489 )
Исправления ошибок
- Фиксированная
fontFamilyне работает над Pre API 24 ( AOSP/807054 ) - Исправлена ошибка, в которой
textFontWeightне работал, когда деятельность простирается отAppCompatActivity( AOSP/847640 ) - Исправлена ошибка, которая вызвала текст заголовка во всплывающем окне «Виджет спиннера» (при использовании диалогового режима), чтобы не использовать шрифт, указанный в
fontFamily( AOSP/789994 ) - Исправьте ошибку, которая не позволяла виджетам
AppCompatCheckBoxиAppCompatRadioButton, чтобы изменить фоновый оттенок ( AOSP/825160 ) - Исправлена ошибка, где AppCompat не переопределял
android: list styles( AOSP/862350 )
Версия 1.1.0-альфа01
3 декабря 2018 года
Новые возможности
AppCompatTextView теперь поддерживает
app:drawableLeftCompat,app:drawableTopCompat,app:drawableRightCompat,app:drawableBottomCompat,app:drawableStartCompatиapp:drawableEndCompatсоставные притягивания, поддерживающие обратные вытягиваемые типы, такие какVectorDrawableCompat.AppCompatCheckBoxиAppCompatRadioButtonDakeables теперь аниматические проверки изменений состояния.
API меняется
- AOSP/740385 : ActionBaroverLaylayout теперь реализует IntedScrollingParent2 и IntedScrollingParent3, позволяя ему облегчить последнюю функциональность в вложенном прокрутке 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 г.
Выпуск Bugfix core-1.0.1 и appcompat-1.0.2 .
Исправления ошибок
- Исправлена ошибка, в которой
PrecomputedTextCompatотключился при использовании при использовании с RTLAppCompatTextView. B/113070424
Версия 1.0.0
Версия 1.0.0
7 ноября 2018 г.
Новые возможности
-
AnimatedStateListDrawableCompatобеспечивает анимированные переходы между натягиваемыми состояниями.