Appcompat

Autorisez l'accès à de nouvelles API sur d'anciennes versions d'API de la plate-forme (nombre d'entre elles utilisant Material Design).
Dernière mise à jour Version stable Version finale Version bêta Version alpha
14 mai 2024 1.6.1 Version 1.7.0-rc01 - -

Déclarer des dépendances

Pour ajouter une dépendance sur Appcompat, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances des artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou module :

Groovy

dependencies {
    def appcompat_version = "1.6.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.6.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")
}

Pour en savoir plus sur les dépendances, consultez la page Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Version 1.7

Version 1.7.0-rc01

14 mai 2024

Publication d'androidx.appcompat:appcompat:1.7.0-rc01 et d'androidx.appcompat:appcompat-resources:1.7.0-rc01. La version 1.7.0-rc01 contient ces commits.

Version 1.7.0-beta01

1er mai 2024

Publication d'androidx.appcompat:appcompat:1.7.0-beta01 et d'androidx.appcompat:appcompat-resources:1.7.0-beta01. La version 1.7.0-beta01 contient ces commits.

Version 1.7.0-alpha03

26 juillet 2023

Publication d'androidx.appcompat:appcompat:1.7.0-alpha03 et d'androidx.appcompat:appcompat-resources:1.7.0-alpha03. Liste des commits de la version 1.7.0-alpha03

Nouvelles fonctionnalités

  • Prise en charge de l'obtention des paramètres régionaux par application dans des contextes autres que ceux liés à une activité. (I58e753) Quatre nouvelles API ont été ajoutées pour cette fonctionnalité:

    • LocaleManagerCompat.getApplicationLocales(): permet aux développeurs d'obtenir les paramètres régionaux par application en dehors du champ d'application de l'activité.

    • ContextCompat.getString(): renvoie des chaînes localisées en fonction des paramètres régionaux de chaque application.

    • ContextCompat.getContextForLanguage(): le contexte renvoyé par cette méthode respectera les paramètres régionaux de l'application.

    • ConfigurationCompat.setLocales(): pour les API ci-dessus, afin de définir les paramètres régionaux de la configuration.

Autres modifications de l'API

  • Ajout de setLineHeight(unit, lineHeight) aux classes compat TextView. (Ia9fa9)
  • Ajout de setLineHeight(unit, lineHeight) aux classes de compatibilité TextView. (Ib2ee1)
  • Ajout de setLineHeight(unit, lineHeight) aux classes compat TextView. (I15716)

Correction de bugs

  • AppCompatDialog définit désormais correctement LifecycleOwner, SavedStateRegistryOwner et OnBackPressedDispatcherOwner sur la vue de décoration de la boîte de dialogue via les API ViewTree, ce qui résout les problèmes lors de l'hébergement d'un ComposeView dans un AppCompatDialog. AppCompat dépend désormais d'Activity 1.7.0. (Ib28ab, b/261314581).
  • Amélioration significative des performances de SupportMenuInflater. (I0b087)

Version 1.7.0-alpha02

8 février 2023

Publication d'androidx.appcompat:appcompat:1.7.0-alpha02 et d'androidx.appcompat:appcompat-resources:1.7.0-alpha02. Liste des commits de la version 1.7.0-alpha02.

Correction de bugs

  • Correction d'une fuite de mémoire dans AppCompatDelegate.getLocaleManagerForApplication() (44b57fd)
  • AppCompat dépend désormais de Fragment version 1.5.4 (I54dcd)

Version 1.7.0-alpha01

5 octobre 2022

Publication d'androidx.appcompat:appcompat:1.7.0-alpha01 et d'androidx.appcompat:appcompat-resources:1.7.0-alpha01. Liste des commits de la version 1.7.0-alpha01.

Correction de bugs

  • AppCompatActivity définit désormais ViewTreeOnBackPressedDispatcherOwner afin de pouvoir récupérer le coordinateur depuis la vue. (I1a115, b/235416503)
  • Locale.getDefault() renvoie désormais les paramètres régionaux du système après un démarrage à froid. (I6a94b)
  • LinearLayoutCompat conserve désormais les paramètres de mise en page dans la marge. (Id2af4)

Version 1.6.1

Version 1.6.1

8 février 2023

Publication d'androidx.appcompat:appcompat:1.6.1 et d'androidx.appcompat:appcompat-resources:1.6.1. Liste des commits de la version 1.6.1.

Correction de bugs

  • Correction d'une fuite de mémoire dans AppCompatDelegate.getLocaleManagerForApplication() (44b57fd)

Version 1.6.0

Version 1.6.0

11 janvier 2023

Publication d'androidx.appcompat:appcompat:1.6.0 et d'androidx.appcompat:appcompat-resources:1.6.0. Liste des commits de la version 1.6.0

Changements importants depuis la version 1.5.0

  • Ajout de la prise en charge de la personnalisation des paramètres régionaux de l'application. Pour en savoir plus, consultez AppCompatDelegate.setApplicationLocales(LocaleListCompat). Fournit une rétrocompatibilité pour la nouvelle API de préférences linguistiques disponible dans Android 13.
  • Mises à jour des possibilités de valeur nulle pour s'aligner sur le SDK Android 13 (Tiramisu, niveau d'API 33).
  • Ajout des classes compat DrawableWrapper, DrawableContainer et StateListDrawable à la surface d'API publique

Version 1.6.0-rc01

7 septembre 2022

Publication d'androidx.appcompat:appcompat:1.6.0-rc01 et d'androidx.appcompat:appcompat-resources:1.6.0-rc01. Liste des commits de la version 1.6.0-rc01.

Correction de bugs

  • AppCompatActivity définit désormais ViewTreeOnBackPressedDispatcherOwner afin de pouvoir récupérer le coordinateur depuis la vue. (I1a115, b/235416503)
  • Rétablissement d'une correction de bug qui annulait la configuration transmise à onConfigurationChanged, ce qui posait des problèmes pour les tests ayant injecté leurs configurations personnalisées via onConfigurationChanged.

Version 1.6.0-beta01

10 août 2022

Publication d'androidx.appcompat:appcompat:1.6.0-beta01 et d'androidx.appcompat:appcompat-resources:1.6.0-beta01. Liste des commits de la version 1.6.0-beta01

Modifications apportées à l'API

  • Déplacement des classes compat DrawableWrapper, DrawableContainer et StateListDrawable vers l'API publique. (I37f3e, b/227789566)
  • Introduction d'une nouvelle fabrique pour le système de gonflage asynchrone. (Ia657b)

Correction de bugs

  • Toolbar appellera désormais onPrepareMenu() avant que le menu ne s'affiche au lieu de l'appeler de façon inconditionnelle une fois le menu créé. (I2a58d, b/232206677)
  • AppCompat dépend désormais explicitement de Lifecycle 2.5.1 et de SavedState 1.2.0. (I7e3e2)
  • Ajout de la prise en charge du retour de rappel à AppCompatDelegate et de l'implémentation de la barre d'outils fournie par AppCompat. (I24062)
  • Finalisation des API AppCompat pour la version 1.5.0-beta01 (I2a43d, b/236866227).
  • Finalisation des API AppCompat pour la version 1.5.0-beta01 (I2a43d, b/236866227).

Version 1.6.0-alpha05

15 juin 2022

Publication d'androidx.appcompat:appcompat:1.6.0-alpha05 et d'androidx.appcompat:appcompat-resources:1.6.0-alpha05. La version 1.6.0-alpha05 a été développée dans une branche de version préliminaire privée et ne comporte aucun commit public.

Modifications apportées à l'API

  • Mises à jour des possibilités de valeur nulle pour s'aligner sur la surface d'API finalisée du SDK de Tiramisu bêta 3.
  • minCompileSdk correspond maintenant à 33 pour s'aligner sur le SDK de Tiramisu bêta 3.

Version 1.6.0-alpha04

18 mai 2022

Publication d'androidx.appcompat:appcompat:1.6.0-alpha04 et d'androidx.appcompat:appcompat-resources:1.6.0-alpha04. Cette bibliothèque a été développée par rapport à une branche de version préliminaire privée. Par conséquent, aucun journal de commit n'est disponible.

Modifications apportées à l'API

  • Ajout d'une API pour remplacer la restriction de largeur SwitchCompat pour MDC-Android.

Correction de bugs

  • Éviter la configuration gérée lorsque la configuration change en dehors de attachBaseConfig.

Version 1.6.0-alpha03

27 avril 2022

Publication d'androidx.appcompat:appcompat:1.6.0-alpha03 et d'androidx.appcompat:appcompat-resources:1.6.0-alpha03.

Cette version nécessite la compilation de la version bêta 1 d'Android 13 et sa compatibilité avec l'environnement d'exécution n'est pas garantie avec les futures versions Preview développeur.

Nouvelles fonctionnalités

  • Prise en charge de la sélection de langues personnalisées au niveau de l'application via AppCompatDelegate.setApplicationLocales(). Délègue à l'implémentation de plate-forme sur l'API 33 ou supérieure.

Version 1.6.0-alpha01

23 février 2022

Publication d'androidx.appcompat:appcompat:1.6.0-alpha01 et d'androidx.appcompat:appcompat-resources:1.6.0-alpha01. La version 1.6.0-alpha01 a été créée à partir d'une branche interne et ne comporte aucun commit public.

Cette version nécessite Android Tiramisu DP1 pour la compilation et il n'est pas garanti qu'elle soit compatible avec l'exécution dans les futures versions de Preview développeur.

Nouvelles fonctionnalités

  • Ajout de la prise en charge de la personnalisation des paramètres régionaux de l'application. Pour en savoir plus, consultez les AppCompatDelegate.setApplicationLocales(LocaleListCompat). Fournit une rétrocompatibilité pour la nouvelle API de préférences linguistiques disponible dans Android 13.

Version 1.5.1

Version 1.5.1

7 septembre 2022

Publication d'androidx.appcompat:appcompat:1.5.1 et d'androidx.appcompat:appcompat-resources:1.5.1. Liste des commits de la version 1.5.1.

Mises à jour des dépendances

Version 1.5.0

Version 1.5.0

10 août 2022

Publication d'androidx.appcompat:appcompat:1.5.0 et d'androidx.appcompat:appcompat-resources:1.5.0. Liste des commits de la version 1.5.0

Changements importants depuis la version 1.4.0

  • Cette version stable comprend des améliorations de la stabilité du mode Nuit, des corrections de bugs et une intégration de plusieurs teintes des drawables composés dans les widgets de texte sauvegardés par AppCompat, ainsi que des améliorations visant à faciliter l'utilisation de l'API. Pour obtenir la liste détaillée des modifications, consultez les notes de version précédentes de la série 1.5.0.

Version 1.5.0-rc01

27 juillet 2022

Publication d'androidx.appcompat:appcompat:1.5.0-rc01 et d'androidx.appcompat:appcompat-resources:1.5.0-rc01. Liste des commits de la version 1.5.0-rc01.

Correction de bugs

  • Correction d'un problème qui entraînait la réutilisation par le wrapper de contexte AppCompat de l'implémentation de la ressource de sauvegarde du contexte de l'application, ce qui provoquait le remplacement d'uiMode par le contexte de l'application. (Idf9d5)

Version 1.5.0-beta01

13 juillet 2022

Publication d'androidx.appcompat:appcompat:1.5.0-beta01 et d'androidx.appcompat:appcompat-resources:1.5.0-beta01. Liste des commits de la version 1.5.0-beta01

Modifications apportées à l'API

  • Ajout d'un indicateur remplaçable pour désactiver l'ajustement de largeur du bouton par défaut. (I37cb7)
  • Ajout de l'annotation @FloatRange à l'API du getter de position du curseur. (If524c)
  • Ajout d'annotations de possibilité de valeur nulle manquantes à AnimatedStateListDrawableCompat. (Ieb4ec)

Correction de bugs

  • Finalisation des API AppCompat pour la version 1.5.0-beta01 (I2a43d, b/236866227).
  • Modification de la valeur className pour ActionMenuItemView afin de la traiter comme un Button. (I5ee1c)

Version 1.5.0-alpha01

6 avril 2022

Publication d'androidx.appcompat:appcompat:1.5.0-alpha01 et d'androidx.appcompat:appcompat-resources:1.5.0-alpha01. Liste des commits de la version 1.5.0-alpha01.

Modifications apportées à l'API

  • Ajout d'une API pour exposer la position du curseur du bouton aux sous-classes. (I9bfb4)
  • Mise à jour de la possibilité de valeur nulle pour correspondre à Tiramisu DP2. (I0cbb7)
  • Rétroportage des teintes des drawables composés vers des widgets dérivés de TextView. (Idf98c, b/165822337)
  • AppCompatDialog étend désormais ComponentDialog pour assurer la compatibilité avec OnBackPressedDispatcher. (Id9b91, b/217620781)
  • SearchView.onQueryRefine() a désormais une visibilité protégée pour permettre les remplacements. (I6cce0, b/212882845)

Correction de bugs

  • La Toolbar AppCompat appelle désormais l'API onPrepareMenu() de MenuHostHelper. (I9b9b5, b/227376894)
  • AppCompatEditText, AppCompatAutoCompleteEditText, AppCompatMultiAutoCompleteEditText ne réinitialise plus les cliquables ou les cliquables de manière prolongée dans le constructeur lorsqu'ils sont définis au format XML. (Ic5066, b/221094907).
  • AppCompatEditText, AppCompatAutoCompleteTextView et AppCompatMultiAutoCompleteTextView n'appelleront pas setKeyListener lors du constructeur (I5c13a, b/208480173)
  • Appcompat n'encapsulera pas les instances de NumberKeyListener transmises à setKeyListener, ce qui permet à TextView de configurer correctement les paramètres régionaux de NumberKeyListeners. (Ibf113, b/207119921)
  • Correction d'un problème concernant toutes les sous-classes NumberKeyListener introduites dans AppCompat 1.4.0 autorisant la saisie de caractères inattendus tels que la ponctuation. (Iede7a, b/207119921)

Version 1.4.2

Version 1.4.2

1er juin 2022

Publication d'androidx.appcompat:appcompat:1.4.2 et d'androidx.appcompat:appcompat-resources:1.4.2. Liste des commits de la version 1.4.2.

Correction de bugs

  • Résolution du plantage où AppCompatDelegateImpl appelait ensureSubDecor avant la création de la barre d'action. (aosp/2048349, b/226648941)

Version 1.4.1

12 janvier 2022

Publication d'androidx.appcompat:appcompat:1.4.1 et d'androidx.appcompat:appcompat-resources:1.4.1. Liste des commits de la version 1.4.1

Correction de bugs

  • AppCompatEditText, AppCompatAutoCompleteTextView et AppCompatMultiAutoCompleteTextView n'appelleront pas le setKeyListener remplacé lors du constructeur. (I5c13a, b/208480173)
  • Emoji2 n'encapsulera pas les instances de NumberKeyListener, ce qui permet de configurer les paramètres régionaux via Textview.
    • Appcompat n'encapsulera pas les instances de NumberKeyListener transmises à setKeyListener, ce qui permet à TextView de configurer correctement les paramètres régionaux de NumberKeyListeners. (Ibf113, b/207119921)
  • Correction du problème concernant toutes les sous-classes NumberKeyListener introduites dans Appcompat 1.4.0 autorisant la saisie de caractères inattendus tels que la ponctuation (b/207119921). (Iede7a, b/207119921)

Version 1.4.0

Version 1.4.0

17 novembre 2021

Publication d'androidx.appcompat:appcompat:1.4.0 et d'androidx.appcompat:appcompat-resources:1.4.0. Liste des commits de la version 1.4.0.

Changements importants depuis la version 1.3.0

  • La bibliothèque cible désormais le langage Java 8.
  • La facilité de mise à jour de la compatibilité avec les emoji est activée par défaut via la bibliothèque androidx.emoji2.
  • Amélioration de l'inspection des attributs dans l'outil d'inspection de la mise en page d'Android Studio. (I02d55)
  • Ajout de la prise en charge des ressources imbriquées teintées et des drawables vectoriels dans les rétroportages de chargement des ressources AppCompat. Toutefois, cela signifie que les applications ne peuvent pas remplacer getDrawable() sur un objet "Resources" personnalisé lorsque les rétroportages sont activés. (Ia6b03, b/176129022)
  • Arrière-plan teinté rétroporté et coche pour CheckedTextView. (I8575c)

Version 1.4.0-rc01

27 octobre 2021

Publication d'androidx.appcompat:appcompat:1.4.0-rc01 et d'androidx.appcompat:appcompat-resources:1.4.0-rc01. Liste des commits de la version 1.4.0-rc01.

Version 1.4.0-beta01

29 septembre 2021

Publication d'androidx.appcompat:appcompat:1.4.0-beta01 et d'androidx.appcompat:appcompat-resources:1.4.0-beta01. Liste des commits de la version 1.4.0-beta01.

Modifications apportées à l'API

  • La barre d'outils (Toolbar) AndroidX AppCompat est désormais un MenuHost et peut gérer les MenuProviders. (I5cd95)

Correction de bugs

  • Correction de la gestion des barres de progression des listes de calques par AppCompatProgressBar. (I6ece3, b/142004509)
  • Conserve correctement android:digits dans AppCompatEditText, cela corrige le bug 193047889 introduit dans AppCompat 1.4.0-alpha03. (I4b4fc, b/193047889)
  • Intégration du SDK OnReceiveContentListener et compatibilité avec les API de bibliothèques. (Ic6914, b/173814913)

Version 1.4.0-alpha03

30 juin 2021

Publication d'androidx.appcompat:appcompat:1.4.0-alpha03 et d'androidx.appcompat:appcompat-resources:1.4.0-alpha03. Liste des commits de la version 1.4.0-alpha03.

Nouvelles fonctionnalités

  • La bibliothèque cible désormais le langage Java 8.
  • Prise en charge des emoji2 pour d'autres sous-classes TextView (AppCompatMultiAutoCompleteTextView, AppCompatAutoCompleteTextView, AppCompatRadioButton et AppCompatCheckBox).

Modifications apportées à l'API

  • Ajout d'une API pour configurer une InputConnection afin d'utiliser View.performReceiveContent pour gérer les appels IME à la ressource InputConnection.commitContent. (I3a2ad)
  • Compatibilité avec EmojiCompat dans AppCompatMultiAutoCompleteTextView. (Ifece0)
  • Compatibilité avec EmojiCompat dans AppCompatAutoCompleteTextView. (Ia1f4b)
  • Compatibilité avec EmojiCompat dans AppCompatRadioButton. (If08af)
  • Compatibilité avec EmojiCompat dans AppCompatCheckBox. (I2b3bc)
  • Autorisation des KeyListener nuls dans AppCompatEditText. Cette opération inverse l'annotation non nulle ajoutée à AppCompatEditText dans la version 1.4-alpha01 et restaure le comportement précédent lorsqu'il était transmis avec la valeur nulle. (I21482, b/189559345)
  • Ajout de PopupMenu.setForceShowIcon pour la parité avec les API de la plate-forme. (I43bb3, b/182789798).

Correction de bugs

  • Correction d'un bug dans AppCompatEditText qui réinitialisera l'inputType spécifié en XML pour supprimer les variantes. Ce bug a été introduit dans AppCompat 1.4.0-alpha01. (I9df36, b/191061070)

Version 1.4.0-alpha02

2 juin 2021

Publication d'androidx.appcompat:appcompat:1.4.0-alpha02 et d'androidx.appcompat:appcompat-resources:1.4.0-alpha02. Liste des commits de la version 1.4.0-alpha02.

Modifications apportées à l'API

  • Ajout du constructeur AppCompatDialogFragment qui accepte un ID de mise en page. (Icbf22, b/188119987)
  • Amélioration de la compatibilité avec l'outil d'inspection de la mise en page. (I02d55)
  • Le package de emoji2-views-helper a été renommé en androidx.emoji2.viewsintegration. Il s'agit d'une modification destructive pour AppCompat 1.4.0-alpha01, et les applications doivent s'assurer que la dépendance AppCompat est mise à jour pour utiliser la nouvelle version d'Emoji2. (Ie8397)

Correction de bugs

  • Correction d'un problème empêchant les activités arrêtées de recevoir des modifications de configuration du mode Nuit effectuées par AppCompat. (I8fa8f, b/188681415)
  • Correction d'un bug dans AppCompatEditText qui entraînait le ciblage des vues même lorsque android:focusable="false" était spécifié dans le fichier XML (bug introduit dans AppCompat 1.4.0-alpha01). (Ib9412)

Version 1.4.0-alpha01

18 mai 2021

Publication d'androidx.appcompat:appcompat:1.4.0-alpha01 et d'androidx.appcompat:appcompat-resources:1.4.0-alpha01. Liste des commits de la version 1.4.0-alpha01.

Modifications apportées à l'API

  • Compatibilité d'EmojiCompat avec plusieurs widgets AppCompat. (Id409b, If7a1a, Ic262d, Ib5f4a et I4fb3c)
  • Ajout de la prise en charge des ressources imbriquées teintées et des drawables vectoriels dans les rétroportages de chargement des ressources AppCompat. Toutefois, cela signifie que les applications ne peuvent pas remplacer getDrawable() sur un objet "Resources" personnalisé lorsque les rétroportages sont activés. (Ia6b03, b/176129022)
  • Amélioration de la compatibilité avec l'outil d'inspection de la mise en page. (I6d771)

Correction de bugs

  • Correction d'un scénario dans lequel l'appel à setSupportActionBar après avoir défini le rappel de fenêtre écrasait le rappel. (Ie43ee, b/186791590)
  • Ajout d'une solution pour résoudre un problème sur les SDK 29 et 30, où les ressources ColorStateListDrawable clonées à partir du cache drawable ne chargent pas de couleur par défaut tant qu'elles ne reçoivent pas un changement d'état. (Iedb4b)
  • Évitez les NPE (NullPointerException) lors du traitement des rappels de mode d'action de sélection personnalisée nuls sur les vues sauvegardées par AppCompat. (I033c7, b/173435375)

Mises à jour des dépendances

Contribution externe

  • Rétroportage de l'arrière-plan teinté et coche pour CheckedTextView. (I8575c)

Version 1.3.1

Version 1.3.1

21 juillet 2021

Publication d'androidx.appcompat:appcompat:1.3.1 et d'androidx.appcompat:appcompat-resources:1.3.1. Liste des commits de la version 1.3.1.

Mises à jour des dépendances

  • AppCompat dépend désormais d'Activity 1.2.4 et de Fragment 1.3.6. Les corrections de ces versions sont donc incluses par défaut lorsque vous utilisez AppCompat 1.3.1. (I8fbec)

Version 1.3.0

Version 1.3.0

18 mai 2021

Publication d'androidx.appcompat:appcompat:1.3.0 et d'androidx.appcompat:appcompat-resources:1.3.0. Liste des commits de la version 1.3.0

Changements importants depuis la version 1.2.0

  • Correction de la propagation des attributs android:theme dans les mises en page incluses (<include>d) sur les appareils antérieurs à Lollipop.
  • Réduction de la taille de la bibliothèque en convertissant de nombreuses ressources PNG en VectorDrawables.
  • Ajout de la prise en charge des événements de glisser-déposer dans AppCompatEditText avec OnReceiveContentListener.
  • Mise à jour pour prendre en charge les modifications apportées à la gestion des encarts dans Android 11.
  • Ajout de la prise en charge du texte de droite à gauche (RTL) dans les éléments de menu avec icônes.
  • Ajout de la possibilité d'insérer du contenu enrichi (par exemple, coller une image) dans AppCompatEditText.

  • Dépendances mises à jour : appcompat a mis à jour un grand nombre de ses dépendances transitives pour prendre en charge de nouvelles fonctionnalités et corrections :

Version 1.3.0-rc01

24 mars 2021

Publication d'androidx.appcompat:appcompat:1.3.0-rc01 et d'androidx.appcompat:appcompat-resources:1.3.0-rc01. Liste des commits de la version 1.3.0-rc01.

Correction de bugs

  • Empêche la révocation prématurée des autorisations lors de la gestion de l'insertion de contenu IME.

Mises à jour des dépendances

Contribution externe

  • Correction de la propagation de l'attribut android:theme dans les mises en page incluses (<include>d) sur les appareils antérieurs à Lollipop (Simon Bergner chez Opera).

Version 1.3.0-beta01

13 janvier 2021

Publication d'androidx.appcompat:appcompat:1.3.0-beta01 et d'androidx.appcompat:appcompat-resources:1.3.0-beta01. Liste des commits de la version 1.3.0-beta01

Nouvelles fonctionnalités

  • Les drawables du mode d'action au niveau du thème ont été remplacés par des sources vectorielles. Cela peut légèrement altérer l'apparence visuelle des icônes individuelles. (I741a6)

Modifications apportées à l'API

  • Intégration du glisser-déposer dans AppCompatEditText avec OnReceiveContentListener. (Ib26c9, b/175343405)
  • Mise à jour d'OnReceiveContentListener et des API associées. Pour en savoir plus, consultez les modifications apportées à la bibliothèque androidx.core. (Ib4616, b/173814913)
  • Widget.RichContentReceiverCompat déplacé vers view.OnReceiveContentListener. (Ifdab7, b/173814913)
  • Rétroportage des API permettant de fournir et de récupérer le texte environnant initial vers EditorInfoCompat. Elles permettent aux applications IME d'éviter une latence IPC supplémentaire. (Ie3809)

Version 1.3.0-alpha02

19 août 2020

Publication d'androidx.appcompat:appcompat:1.3.0-alpha02 et d'androidx.appcompat:appcompat-resources:1.3.0-alpha02. Liste des commits de la version 1.3.0-alpha02.

Correction de bugs

  • Les drawables PNG AppCompatRatingBar ont été remplacés par des sources vectorielles. Cela peut légèrement altérer l'apparence visuelle des étoiles individuelles. (I6b99d)
  • Mise à jour de WindowInsetsCompat vers les API Android 11. (I3df9e)
  • Prise en charge du texte de droite à gauche (RTL) dans les éléments de menu avec icônes. (I2f5c5)

Mises à jour des dépendances

  • AppCompat a mis à jour sa dépendance de Fragment 1.1.0 vers Fragment 1.3.0-alpha08. Nous vous recommandons fortement de lire les notes de version de Fragment 1.2.0 pour comprendre les principales modifications apportées à la précédente version de Fragment.
  • AppCompat a mis à jour sa dépendance d'Activity 1.0.0 vers Activity 1.2.0-alpha08. Nous vous recommandons fortement de lire les notes de version d'Activity 1.1.0 pour comprendre les principales modifications apportées à la précédente version d'Activity.
    • AppCompatActivity utilise désormais l'API OnContextAvailableListener introduite dans Activity 1.2.0-alpha08 pour configurer AppCompatDelegate. Tous les écouteurs ajoutés aux sous-classes de AppCompatActivity s'exécutent après cet écouteur. (I513da)

Version 1.3.0-alpha01

20 mai 2020

Publication d'androidx.appcompat:appcompat:1.3.0-alpha01 et d'androidx.appcompat:appcompat-resources:1.3.0-alpha01. Liste des commits de la version 1.3.0-alpha01.

Nouvelles fonctionnalités

  • Ajout d'une règle Lint pour signaler les appels à setActionBar sur les activités qui étendent AppCompatActivity.
  • Ajout de la prise en charge de ViewTreeLifecycleOwner à partir de Lifecycle 2.3.0-alpha01, de ViewTreeViewModelStoreOwner à partir de Lifecycle 2.3.0-alpha03 et de ViewTreeSavedStateRegistryOwner à partir de SavedState 1.1.0-alpha01 lorsque vous utilisez une View dans une AppCompatActivity. (b/151603528, aosp/1300264)
  • Ajout d'une API courante pour insérer du contenu enrichi (par exemple, en collant une image). Le nouveau rappel fournit une API unique que les applications peuvent implémenter pour prendre en charge les différentes façons d'insérer du contenu enrichi. Pour l'instant, l'API n'est ajoutée qu'à AppCompatEditText et sera invoquée pour les chemins de code suivants :
    • Coller depuis le presse-papiers
    • Insérer du contenu à partir de l'IME (InputConnection.commitContent) (I22bf7)

Correction de bugs

  • Depuis AppCompat 1.2.0-rc01 : AppCompat n'appelle plus onMenuOpened() avec un menu null. (b/142843126)
  • Résolution correcte des couleurs des liens et indications textuelles sur les appareils plus anciens lorsque TextViewCompat.setTextAppearance est appelé avec un style d'apparence de texte dont les listes d'état des couleurs font référence aux attributs de couleur du thème. (b/154702995)

Version 1.2.0

Version 1.2.0

5 août 2020

Publication d'androidx.appcompat:appcompat:1.2.0 et d'androidx.appcompat:appcompat-resources:1.2.0. Liste des commits de la version 1.2.0

Principales modifications depuis la version 1.1.0

  • Correction de la prise en charge des cas d'utilisation du remplacement de la configuration, y compris les paramètres régionaux personnalisés et les échelles de police. Pour savoir comment implémenter correctement des remplacements à l'aide de appcompat:1.2.0, cliquez ici.
  • Abandon d'AppCompatDelegate.attachBaseContext(). Si vous appelez ou remplacez cette méthode, utilisez plutôt AppCompatDelegate.attachBaseContext2().
  • Abandon de CollapsibleActionView. Cette interface n'est plus nécessaire. Utilisez l'interface android.view.CollapsibleActionView fournie par la plate-forme.

Version 1.2.0-rc02

22 juillet 2020

Publication d'androidx.appcompat:appcompat:1.2.0-rc02 et d'androidx.appcompat:appcompat-resources:1.2.0-rc02. Liste des commits de la version 1.2.0-rc02.

Correction de bugs

  • Correction d'un problème lié au mode Nuit pour lequel l'appel à AppCompatDelegate.setDefaultNightMode à partir d'une boîte de dialogue pouvait parfois échouer à recréer les activités et à appliquer le nouveau mode. (aosp/1348308, b/158923881)

Version 1.2.0-rc01

14 mai 2020

Publication d'androidx.appcompat:appcompat:1.2.0-rc01 et d'androidx.appcompat:appcompat-resources:1.2.0-rc01. Liste des commits de la version 1.2.0-rc01.

Modifications apportées à l'API

  • AppCompatDelegate.setLocalNightMode a été marqué comme nécessitant la version 17 ou supérieure du SDK en raison d'un problème de plate-forme avec des fuites de modifications de configuration entre les Activities sur les SDK antérieurs.

Correction de bugs

  • AppCompatDelegate.setLocalNightMode peut désormais être appelé avant Activity.attachBaseContext.
  • Correction de l'utilisation des encarts ActionBarOverlayLayout qui n'utilisait pas correctement les encarts mis en cache.
  • AppCompat n'appelle plus onMenuOpened() avec un menu null. (b/142843126)

Version 1.2.0-beta01

1er avril 2020

Publication d'androidx.appcompat:appcompat:1.2.0-beta01 et d'androidx.appcompat:appcompat-resources:1.2.0-beta01. Liste des commits de la version 1.2.0-beta01

Nouvelles fonctionnalités

  • Ajout des nouvelles règles lint qui signalent les utilisations incorrectes d'AppCompat dans les cas suivants :
    • Chargement des listes d'état des couleurs : suggère d'utiliser les API ContextCompat et AppCompatResources pour assurer la rétrocompatibilité
    • Chargement de drawables : suggère d'utiliser les API ContextCompat et ResourcesCompat pour assurer la rétrocompatibilité
    • Utilisation des listes d'état des couleurs avec l'attribut alpha : indique l'attribut android:alpha manquant qui entraînera un affichage incorrect sur certaines versions de la plate-forme
    • Teinte des vues d'image : indicateurs n'utilisant pas app:tint qui entraîneront un affichage incorrect sur les anciennes versions de la plate-forme
    • Utilisation de drawables composés et de teintes sur les affichages de texte : suggère l'utilisation d'attributs et d'API compat pour assurer la rétrocompatibilité

Correction de bugs

  • Correction d'un problème qui empêchait ActionBarOverlayLayout (action de décoration de fenêtre) de distribuer correctement WindowInsets.
  • Correction des problèmes liés à la teinte des drawables et à l'apparence du texte dans les anciennes versions de la plate-forme.
  • Correction d'un problème pour lequel androidx.appcompat:appcompat:1.1.0 plante WebView lorsque vous appuyez de manière prolongée sur WebView (b/141351441).
  • Implémentation de correctifs pour les problèmes de manipulation du contexte de base et de récupération des services système pendant le démarrage d'Activity.

Version 1.2.0-alpha03

4 mars 2020

Publication d'androidx.appcompat:appcompat:1.2.0-alpha03 et d'androidx.appcompat:appcompat-resources:1.2.0-alpha03. Liste des commits de la version 1.2.0-alpha03.

Correction de bugs

  • Correction d'un problème où la protection du statut du mode d'action s'étend par erreur dans la barre de navigation et s'affiche de la mauvaise couleur. (Ia4a09).
  • Correction d'un problème pour lequel les activités arrêtées n'étaient pas réactivées pour le niveau d'API 23 ou inférieur. (I45201)

Version 1.2.0-alpha02

29 janvier 2020

Publication d'androidx.appcompat:appcompat:1.2.0-alpha02 et d'androidx.appcompat:appcompat-resources:1.2.0-alpha02. Liste des commits de la version 1.2.0-alpha02.

Corrections de bugs

  • Correction d'un problème pour lequel Appcompat 1.1.0 fait planter WebView en cas d'appui de manière prolongée. (b/141351441)
  • Correction de la teinte des drawables composés sur TextView liés aux drawables composés au niveau d'API 23. (aosp/1172194)
  • Garantit que le contexte de base est toujours un wrapper. (aosp/1194355)
  • Ajout d'améliorations permettant de modifier la configuration du contexte de base de manière plus intelligente. (aosp/1204543)
  • Désactivation de createConfigurationContext() pour Robolectric. (aosp/1186218)

Version 1.2.0-alpha01

4 décembre 2019

Publication d'androidx.appcompat:appcompat:1.2.0-alpha01 et d'androidx.appcompat:appcompat-resources:1.2.0-alpha01. Liste des commits de la version 1.2.0-alpha01.

Corrections de bugs

  • Les appels à PackageManager.getActivityInfo ne plantent plus en mode strict avec les vérifications de démarrage activées.
  • Corrections concernant les teintes des drawables sur AppCompatButton.
  • Correction des teintes et de l'apparence du texte dans les anciennes versions de la plate-forme.

Version 1.1.0

Version 1.1.0

5 septembre 2019

Publication d'androidx.appcompat:appcompat:1.1.0 et d'androidx.appcompat:appcompat-resources:1.1.0. Les commits inclus dans cette version sont disponibles sur cette page.

Modifications importantes depuis la version 1.0.0

  • Améliorations du mode sombre : abandon du mode sombre automatique (MODE_NIGHT_AUTO) et du passage du mode sombre au mode clair en fonction de l'heure. Envisagez d'utiliser un paramètre explicite ou MODE_NIGHT_AUTO_BATTERY.
  • Activity 1.0 : AppCompatActivity s'étend de manière transitoire depuis ComponentActivity, depuis Activity 1.0.0 via Fragment 1.1.0. Consultez les notes de version associées pour en savoir plus sur les modifications apportées à chaque bibliothèque.
  • Constructeur AppCompatActivity LayoutId : les sous-classes de AppCompatActivity peuvent désormais appeler facultativement un constructeur sur AppCompatActivity qui accepte un ID R.layout, indiquant la mise en page à définir en tant que vue de contenu comme alternative à l'appel à setContentView() dans onCreate(). Cela ne change pas l'obligation pour votre sous-classe d'avoir un constructeur sans argument.

Version 1.1.0-rc01

2 juillet 2019

Publication d'androidx.appcompat:appcompat:1.1.0-rc01 et d'androidx.appcompat:appcompat-resources:1.1.0-rc01. Les commits inclus dans cette version sont disponibles sur cette page.

Correction de bugs

  • DayNight respecte désormais configChanges. (aosp/981105)
  • N'appelle onConfigurationChanged qu'au début des Activities. (aosp/987483)

Version 1.1.0-beta01

5 juin 2019

Publication d'androidx.appcompat:appcompat:1.1.0-beta01 et d'androidx.appcompat:appcompat-resources:1.1.0-beta01. Les commits inclus dans cette version sont disponibles sur cette page.

Correction de bugs

  • Garantit le nettoyage des récepteurs dans AppCompatDialogs. (aosp/959376).
  • Ajout de prise en charge pour buttonGravity=center_vertical dans la barre d'outils. (b/130361721)
  • Correction du décalage horizontal de l'icône de chargement. (b/79477181)

Version 1.1.0-alpha05

7 mai 2019

Publication d'androidx.appcompat:appcompat:1.1.0-alpha05 et d'androidx.appcompat:appcompat-resources:1.1.0-alpha05. Les commits inclus dans cette version sont disponibles sur cette page.

Nouvelles fonctionnalités

Corrections de bugs

  • Plusieurs corrections apportées au mode DayNight.
  • Invalide les contours pour toute modification de l'arrière-plan dans ActionBar.
  • Correction du défilement du widget de l'icône de chargement.
  • Correction du remplacement des arrière-plans de fenêtre personnalisés dans AlertDialog.

Version 1.1.0-alpha04

3 avril 2019

Publication d'androidx.appcompat:appcompat:1.1.0-alpha04 et d'androidx.appcompat:appcompat-resources:1.1.0-alpha04. Les commits inclus dans cette version sont disponibles sur cette page.

Nouvelles fonctionnalités

  • Ajout d'une nouvelle famille de thèmes : ThemeOverlay.AppCompat.DayNight. Vous devez les utiliser lorsque vous utilisez la fonctionnalité DayNight.

Modifications apportées à l'API

  • AppCompatActivity contient désormais un deuxième constructeur utilisant un @LayoutRes int, qui remplace le comportement précédent d'annotation de votre classe "AppCompatActivity" par @ContentView. Cette approche fonctionne dans les modules d'application et de bibliothèque. (b/128352521)

Corrections de bugs

  • Dépendances internes épinglées à des versions stables dans la mesure du possible.
  • Correction du défilement de AppCompatSpinner en mode déroulant. (b/124274573)
  • N'appelle applyOverrideConfiguration() que si nécessaire pour utiliser DayNight.

Version 1.1.0-alpha03

13 mars 2019

Publication d'androidx.appcompat:appcompat:1.1.0-alpha03 et d'androidx.appcompat:appcompat-resources:1.1.0-alpha03. Il s'agit de la première version de appcompat-resources. La liste complète des commits inclus dans cette version est disponible sur cette page.

Nouvelles fonctionnalités

  • La nouvelle bibliothèque appcompat-resources contient des API qui permettent aux applications de charger et de teinter les drawables (y compris les drawables vectoriels) sur les anciennes versions de la plate-forme. Il s'agit de la fonctionnalité qui faisait auparavant partie du module appcompat, mais qui est désormais disponible sans les surcharges du backport appcompat complet de Material Design, qui inclut des widgets, des boîtes de dialogue, le mode Nuit, etc.
  • Corrections majeures de la compatibilité du mode DayNight.
  • Nouvelle option MODE_NIGHT_AUTO_BATTERY pour le mode DayNight.
  • Teinte des drawables dans AppCompatTextView.
  • Vous pouvez désormais définir le style de la barre d'outils Google à l'aide de listes de couleurs à thème.
  • Les icônes de menu peuvent désormais utiliser des couleurs qui font référence à des attributs de thème.
  • Le nouvel attribut app:menu peut être défini sur une barre d'outils pour fournir le contenu du menu au moment du gonflement.

Correction de bugs

  • Correction du mode de teinte par défaut dans ImageView dans la version 21.
  • Correction de la fermeture, à tort, de la pop-up de l'icône de chargement en cas de rotation de l'appareil.
  • Correction du mode DayNight qui ne respectait pas configChanges dans le fichier manifeste.
  • Correction du passage à MODE_NIGHT_FOLLOW_SYSTEM qui ne fonctionnait pas. (b/111345020)
  • Correction de la réinitialisation des ressources DayNight par WebView. (b/37124582).

Version 1.1.0-alpha02

7 février 2019

Publication d'androidx.appcompat:appcompat 1.1.0-alpha02.

Nouvelles fonctionnalités

  • Extraction de la gestion des drawables spécifiques aux ressources dans un hook. (aosp/870976)
  • Autorisation pour que la barre d'outils titleTextColor et subtitleTextColor puissent utiliser une ColorStateList et ajouter des surcharges de ColorStateList des méthodes setTitleTextColor et setSubtitleTextColor. (aosp/867489)

Corrections de bugs

  • Correction de fontFamily qui ne fonctionnait pas avant l'API 24. (aosp/807054)
  • Correction d'un bug qui empêchait textFontWeight de fonctionner lorsqu'une activité s'étendait depuis AppCompatActivity. (aosp/847640)
  • Correction d'un bug dans lequel la police spécifiée dans fontFamily n'était pas utilisée pour le titre de la pop-up du widget de l'icône de chargement (en mode boîte de dialogue). (aosp/789994)
  • Correction d'un bug qui empêchait les widgets AppCompatCheckBox et AppCompatRadioButton de modifier la teinte de l'arrière-plan. (aosp/825160)
  • Correction d'un bug qui empêchait AppCompat de remplacer android: list styles. (aosp/862350)

Version 1.1.0-alpha01

3 décembre 2018

Nouvelles fonctionnalités

  • AppCompatTextView est désormais compatible avec les drawables composés app:drawableLeftCompat, app:drawableTopCompat, app:drawableRightCompat, app:drawableBottomCompat, app:drawableStartCompat et app:drawableEndCompat compatibles avec les types drawables rétroportés tels que VectorDrawableCompat.

  • Les drawables par défaut d'AppCompatCheckBox et AppCompatRadioButton animent désormais les changements d'état de la vérification.

Modifications apportées à l'API

  • aosp/740385 : ActionBarOverlayLayout implémente désormais NestedScrollingParent2 et NestedScrollingParent3, ce qui facilite l'utilisation des dernières fonctionnalités du défilement imbriqué 3. Si le code de développeur ignore actuellement ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int), il ne sera probablement plus appelé. ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int, int, int[]) devra être ignoré à la place.

Version 1.0.2

Version 1.0.2

7 novembre 2018

Corrections de bugs dans core-1.0.1 et appcompat-1.0.2.

Corrections de bugs

  • Correction d'un bug qui provoquait le plantage de PrecomputedTextCompat lorsqu'il était utilisé avec AppCompatTextView de droite à gauche b/113070424

Version 1.0.0

Version 1.0.0

7 novembre 2018

Nouvelles fonctionnalités