Appcompat
Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-релиз | Альфа-релиз |
---|---|---|---|---|
4 июня 2025 г. | 1.7.1 | - | - | - |
Объявление зависимостей
Чтобы добавить зависимость от Appcompat, необходимо добавить репозиторий Google Maven в свой проект. Прочитайте репозиторий Google Maven для получения дополнительной информации.
Добавьте зависимости для необходимых артефактов в файл build.gradle
для вашего приложения или модуля:
Groovy
dependencies { def appcompat_version = "1.7.1" implementation "androidx.appcompat:appcompat:$appcompat_version" // For loading and tinting drawables on older versions of the platform implementation "androidx.appcompat:appcompat-resources:$appcompat_version" }
Kotlin
dependencies { val appcompat_version = "1.7.1" implementation("androidx.appcompat:appcompat:$appcompat_version") // For loading and tinting drawables on older versions of the platform implementation("androidx.appcompat:appcompat-resources:$appcompat_version") }
Дополнительную информацию о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Более подробную информацию смотрите в документации 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
теперь явно зависит от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-альфа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 )
Исправление ошибок
-
Toolbar
AppCompat теперь вызывает 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
-
Toolbar
AndroidX 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
иAppCompatRadioButton
Dakeables теперь аниматические проверки изменений состояния.
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
обеспечивает анимированные переходы между натягиваемыми состояниями.