Archive des révisions de la bibliothèque Support

Cette page fournit des informations sur les anciennes versions des packages de la bibliothèque Support. Pour obtenir les dernières versions de la bibliothèque Support, consultez la section Révisions récentes de la bibliothèque Support.

Révision 26.0.0 bêta 2

(juin 2017)

Veuillez noter que la version 26.0.0-beta2 est une version préliminaire. Sa surface d'API est susceptible d'être modifiée et n'inclut pas nécessairement les fonctionnalités ou les corrections de bugs des dernières versions stables de la bibliothèque Support.

Important:Les bibliothèques Support sont désormais disponibles via le dépôt Maven de Google. Vous n'avez pas besoin de télécharger le dépôt d'assistance à partir de SDK Manager. Pour en savoir plus, consultez Configuration de la bibliothèque Support.

Nouvelles API

Différences d'API

Correction de bugs

  • La suppression du SDK Android O entraîne une perte d'italique dans TextViews
  • Exception de pointeur nul lors de la connexion à MediaBrowserServiceCompat
  • TextInputLayout doit définir des optimisations sur onProvideAutofillStructure().
  • Débordement de pile lors de l'utilisation du redimensionnement automatique de TextView sur O

Révision 26.0.0 bêta 1

(mai 2017)

Veuillez noter que la version 26.0.0-beta1 est une version préliminaire. Sa surface d'API est susceptible d'être modifiée et n'inclut pas nécessairement les fonctionnalités ou les corrections de bugs des dernières versions stables de la bibliothèque Support.

Important:Les bibliothèques Support sont désormais disponibles via le dépôt Maven de Google. Vous n'avez pas besoin de télécharger le dépôt d'assistance à partir de SDK Manager. Pour en savoir plus, consultez Configuration de la bibliothèque Support.

Changements significatifs

  • Suppression de FragmentActivity.setSupportMediaController() et FragmentActivity.getSupportMediaController(). Veuillez utiliser les nouvelles méthodes statiques MediaControllerCompat.setMediaController() et MediaControllerCompat.getMediaController().
  • BottomNavigationView appelle désormais onNavigationItemReselected() lorsqu'un élément déjà sélectionné est sélectionné au lieu d'appeler onNavigationItemSelected().
  • Toutes les instances de la méthode findViewById() renvoient désormais <T extends View> T au lieu de View. Cette modification a les conséquences suivantes :
    • Par conséquent, le code existant peut désormais comporter un type renvoyé ambigu, par exemple si someMethod(View) et someMethod(TextView) acceptent le résultat d'un appel à findViewById().
    • Lorsque vous utilisez le langage source Java 8, cela nécessite une conversion explicite en View lorsque le type renvoyé est sans contrainte (par exemple, assertNotNull(findViewById(...)).someViewMethod())).
    • Le type renvoyé doit être mis à jour pour les remplacements de méthodes findViewById() non finales (par exemple, Activity.findViewById()).

Nouvelles API

  • FragmentManager et Fragment disposent d'une méthode isStateSaved() pour permettre de demander si une transaction est autorisée ou non sans perte d'état. Cela est particulièrement utile à vérifier lors de la gestion d'un événement onClick() avant d'exécuter une transaction.
  • Le mouvement de trajectoire est pris en charge dans AnimatedVectorDrawableCompat. Le mouvement de tracé permet à un animateur d'objet de modifier deux propriétés en même temps en fonction d'un seul tracé. Le tracé est spécifié en tant que android:pathData dans le code XML de l'animation.
  • Animation basée sur la physique :
    • Ajout d'un FlingAnimation qui prend en charge l'animation avec une vitesse initiale et ralentit de manière progressive.
    • Les sous-classes de DynamicAnimation acceptent l'animation de propriété personnalisée pour tout objet.
    • SpringAnimation et FlingAnimation peuvent désormais animer une valeur flottante sans qu'il soit nécessaire de lui associer un View ou un Object.

    Pour en savoir plus, consultez les pages d'aperçu des animations de rétroaction et des animations de survol.

  • Polices XML acceptées :
    • ResourcesCompat.getFont permet de charger des ressources de police, y compris un fichier XML de famille de polices qui peut être utilisé avec TextView.setTypeface().
    • Lorsque vous utilisez AppCompat, TextView permet de spécifier une ressource de police ou un fichier XML de famille de polices via l'attribut XML android:fontFamily.
    • Utilisez XML font-family pour créer des familles de polices avec des variations de style et d'épaisseur. (Si vous utilisez les classes de la bibliothèque Support pour ce faire, utilisez les attributs app: ainsi que les attributs android:.)
  • Polices téléchargeables:
    • Nouveau FontsContractCompat qui vous permet de demander des polices à un fournisseur de polices au lieu de les regrouper dans votre application.
    • Les polices peuvent également être demandées au format XML et utilisées dans les mises en page.
  • Bibliothèque de compatibilité des emoji :
    • EmojiCompat peut traiter un CharSequence donné et ajouter EmojiSpans.
    • EmojiTextView et d'autres widgets pour afficher des emoji.
    • FontRequestEmojiCompatConfig pour demander une police emoji à un fournisseur de polices.
  • Ajustement automatique de TextView :
    • Nouvelles méthodes dans TextViewCompat et attributs XML pour contrôler le dimensionnement automatique dans TextView.
  • Commandes de lecture YouTube "en moins de clics" avec recherche automatique:
    • Nouveau PlaybackTransportRowPresenter qui affiche les commandes de lecture avec une barre de recherche.
    • Nouveau PlaybackTransportControlGlue qui fonctionne avec PlaybackTransportRowPresenter et prend en charge la recherche.
    • Nouvelle classe de base PlaybackSeekDataProvider permettant à l'application de fournir des vignettes de recherche à PlaybackTransportControlGlue.
  • Preferences Data Store:
    • PreferenceDataStore vous permet désormais d'implémenter votre propre stockage de préférences, défini à l'aide de nouvelles méthodes dans Preference et PreferenceManager.

Problèmes connus

  • L'intégration des polices téléchargeables et des emoji avec les services Google Play ne fonctionne qu'avec la version 11 ou ultérieure des services Google Play, actuellement disponible via le programme bêta des services Google Play.

Correction de bugs

  • L'API MediaBrowserCompat.search() ne fonctionne pas (problème AOSP 262170)
  • ViewCompat.postInvalidateOnAnimation() génère une exception (problème AOSP 80146)
  • onActivityCreated() appelé pour les fragments dans l'activité détruite
  • RecyclerView.isComputingLayout() doit renvoyer la valeur "true" lors du préchargement.
  • Lorsqu'une transition Fade est interrompue et inversée, View lance l'animation depuis le début. (Correctif transféré à partir du framework Android.)
  • Transition.Fade ignore la valeur alpha initiale de View (problème AOSP 221820)

Révision 26.0.0 Alpha 1

(mars 2017)

Veuillez noter que la version 26.0.0-alpha1 est une version préliminaire. Sa surface d'API est susceptible d'être modifiée et n'inclut pas nécessairement les fonctionnalités ou les corrections de bugs des dernières versions stables de la bibliothèque Support.

Changements significatifs

Remarque:La version minimale du SDK est passée à 14. Par conséquent, de nombreuses API qui n'existaient que pour une compatibilité avec une version inférieure à 14 sont devenues obsolètes. Les clients de ces API doivent migrer vers leurs équivalents de framework, comme indiqué sur la page de référence de chaque API obsolète.

  • Le module support-percent est obsolète. Les clients de ce module doivent migrer vers le nouveau widget ConstraintLayout, fourni en tant qu'artefact distinct dans SDK Manager.
  • Le module support-fragment n'a plus de dépendance sur le module support-media-compat.

Nouvelles API

De nombreuses nouvelles classes, méthodes et constantes ont été ajoutées pour assurer la compatibilité ascendante des API de plate-forme ajoutées dans O Preview.

  • IME_FLAG_NO_PERSONALIZED_LEARNING: les IME peuvent écouter les indicateurs "aucun apprentissage" pour les applications en mode privé, telles que les navigateurs. Cette fonctionnalité aide les IME à déterminer si une application est en mode privé, afin qu'ils puissent désactiver leur fonctionnalité d'apprentissage ou adaptative lorsque l'application est dans ce mode.

Pour obtenir la liste complète des modifications apportées aux API entre les versions 25.2.0 et 26.0.0-alpha1, consultez le rapport sur les différences des API de la bibliothèque Support.

Correction de bugs

  • Dans certains cas, une simple animation AutoTransition peut être interrompue par des "sauts". (problème AOSP 221816).

Révision 25.4.0

(juin 2017)

Important:Les bibliothèques Support sont désormais disponibles via le dépôt Maven de Google. Vous n'avez pas besoin de télécharger le dépôt d'assistance à partir de SDK Manager. Pour en savoir plus, consultez Configuration de la bibliothèque Support.

Changements significatifs

  • executePendingTransactions(), commitNow(), popBackStackImmediate() et les appels de transaction similaires ne sont pas autorisés lors du changement d'état de FragmentManager. L'exécution par réentrant des transactions est non sécurisée, et FragmentManager applique désormais cette méthode lors des changements d'état.
  • Parallèlement à cette version de la bibliothèque Support, nous publions la version 1.0.2 de multidex. Cette version inclut les modifications importantes suivantes :
    • Autorise le multidexing de l'APK d'instrumentation.
    • Abandon de MultiDexTestRunner (utiliser AndroidJUnitRunner à la place).
    • Offre une meilleure protection contre les erreurs de gestion de l'extraction d'archives de l'application.
    • Correction d'un bug qui pouvait entraîner l'abandon de fichiers temporaires.
    • Fournit une installation plus rapide lorsqu'elle est effectuée dans un processus simultané.
    • Corrige un bug d'installation sur les API 19 et 20.

API nouvelles et modifiées

Le morphologie et l'interpolation de tracé sont pris en charge dans AnimatedVectorDrawableCompat. Le morphing de tracé permet de passer d'un tracé (spécifié android:valueFrom) à un autre (android:valueTo) afin de fournir des effets visuels complexes et attrayants. L'interpolation de chemin permet de spécifier les interpolateurs de AnimatedVectorDrawableCompat en tant que chemins (spécifiés en tant que android:pathData dans le code XML de l'interpolateur).

Différences d'API

Problèmes résolus

  • Exception de pointeur nul lors de la connexion à MediaBrowserServiceCompat
  • L'API MediaBrowserCompat.search() ne fonctionne pas (problème AOSP n° 262170)
  • Rappels BrowseFragment onItemClicked interrompus dans la version 25.3.0
  • NullPointerException lors du défilement vers le haut et vers le bas dans VerticalGridView dans la version 25.3.1
  • ClassCastException dans SimpleArrayMap.allocArrays()

Révision 25.3.1

(mars 2017)

Problèmes résolus

  • SwitchCompat nécessite le SDK version 14 ou ultérieure. (problème AOSP 251302).
  • L'animation basée sur la physique updateListener ignore la première image.
  • L'animation du libellé BottomNavigationView ne fonctionne pas.

Révision 25.3.0

(mars 2017)

Changements significatifs

Les métadonnées des versions de la bibliothèque Support sont automatiquement ajoutées à AndroidManifest.xml lors de la compilation à partir de Gradle, ce qui simplifie le suivi des versions dans les builds publics. Par exemple :

<meta-data android:name="android.support.VERSION" android:value="25.3.0" />

Abandons

Un certain nombre de méthodes et de classes ont été abandonnées dans cette version. Ces API obsolètes seront supprimées dans une prochaine version, et les développeurs devront les supprimer. Pour découvrir comment ne plus utiliser une API spécifique, consultez sa documentation.

ExifInterface
La méthode booléenne getLatLong(float[]) est obsolète. Utilisez plutôt la nouvelle méthode getLatLong(), qui n'accepte aucun argument et renvoie double[].
mediacompat
PlaybackStateCompat.Builder.setErrorMessage(CharSequence) est obsolète. Utilisez plutôt la nouvelle méthode setErrorMessage(int, CharSequence), à laquelle est transmis un code d'erreur et une description facultative.
EXTRA_SUGGESTION_KEYWORDS est obsolète. Utilisez plutôt la fonctionnalité de recherche MediaBrowserCompat.
v7.recyclerview
LinearLayoutManager.getInitialItemPrefetchCount() a été renommé LinearLayoutManager.getInitialPrefetchItemCount(). L'ancien nom est toujours accepté, mais il sera supprimé dans une prochaine version.

API nouvelles et modifiées

appcompat-v7
La nouvelle méthode ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean) simplifie la désactivation de l'animation de l'icône d'activation du panneau de navigation.
customtabs
Prise en charge des canaux de messagerie. Pour en savoir plus, consultez la documentation de référence sur CustomTabsService.requestPostMessageChannel() et CustomTabsService.postMessage().
dynamic-animation
Nouvelle bibliothèque d'animations basées sur la physique qui fournit un ensemble d'API pour créer des animations qui réagissent de manière dynamique à l'entrée utilisateur.
leanback-v17
Prise en charge des arrière-plans parallaxes. Pour en savoir plus, consultez la documentation de référence sur Parallax.
Ajout du widget TimePicker pour choisir des heures sur une interface TV.
mediacompat
Fonctionnalité de recherche ajoutée. Pour en savoir plus, consultez la documentation de référence sur MediaBrowserCompat.search() et MediaBrowserServiceCompat.onSearch().
Prise en charge des modes brassage et répétition. Pour en savoir plus, consultez la documentation de référence sur MediaSessionCompat.setRepeatMode() et setShuffleModeEnabled().

Problèmes résolus

Révision 25.2.0

(février 2017)

Changements importants

Problèmes résolus

  • Cette version corrige un problème grave de MediaRouter : l'utilisation d'un appareil A2DP et des API de routage multimédia pouvait entraîner le blocage de l'appareil, nécessitant un redémarrage.
  • La classe FragmentManager.FragmentLifecycleCallbacks est désormais statique.

Problèmes résolus

  • L'affichage d'une présentation avec duplication d'écran entraîne la déconnexion de l'appareil du Wi-Fi
  • Le bouton multimédia ne gérait pas correctement les applications multimédias qui ne s'étaient pas enregistrées auprès de setMediaButtonReceiver()
  • Erreur VectorDrawable concernant la ressource de chaîne (problème AOSP 232407)
  • TextInputLayout superpose l'indice et le texte si le texte est défini par XML (problème AOSP 230171)
  • Fuite de mémoire dans MediaControllerCompat (problème AOSP 231441)
  • RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback() plante
  • RecyclerView plante lors du recyclage des supports de vue (problème AOSP 225762)
  • getAllowGeneratedReplies() affiche de manière incorrecte la valeur "false" pour les actions dans un WearableExtender.

Révision 25.1.1

(janvier 2017)

Important:Il existe un bug connu dans la classe android.support.v7.media.MediaRouter dans les révisions 25.1.1 et 25.1.0 de la bibliothèque Support. Si votre application utilise la version 7 de MediaRouter, vous devez passer à la révision 25.2.0 de la bibliothèque Support, qui corrige ce bug.

Changements importants

  • Les transactions de fragment peuvent désormais être optimisées au sein des transactions et entre elles. L'optimisation des opérations de transaction de fragment peut éliminer les opérations d'annulation. Par exemple, supposons que deux transactions soient exécutées ensemble, la première qui ajoute un fragment A et l'autre qui remplace le fragment A par le fragment B. Dans ce cas, la première opération peut être annulée et seul le fragment B est ajouté. Par conséquent, il est possible que le fragment A ne passe pas par le cycle de vie de création/destruction.

    Cette optimisation a un effet secondaire : les fragments peuvent entraîner des changements d'état dans l'ordre attendu. Par exemple, supposons qu'une transaction ajoute le fragment A, qu'une seconde ajoute le fragment B, puis qu'une troisième supprime le fragment A. Sans optimisation, le fragment B pourrait s'attendre à ce que le fragment A existera également pendant sa création, car le fragment A sera supprimé après l'ajout du fragment B. Avec l'optimisation, le fragment B ne peut pas être sûr que le fragment A existera pendant la création du fragment B, car la création et la destruction du fragment A peuvent être supprimées par l'optimisation.

    Cette optimisation est désactivée par défaut. Pour activer l'optimisation, appelez FragmentTransaction.setAllowOptimization(true).

  • Les fragments peuvent désormais différer leurs transitions et animations jusqu'à ce qu'ils soient prêts, à l'aide de Fragment.postponeEnterTransition() et Fragment.startPostponedEnterTransition(). Cette API est semblable à Activity.postponeEnterTransition() et Activity.startPostponedEnterTransition() utilisées avec les transitions d'activités.

Problèmes résolus

Révision 25.1.0

(décembre 2016)

Important:Il existe un bug connu dans la classe android.support.v7.media.MediaRouter dans les révisions 25.1.1 et 25.1.0 de la bibliothèque Support. Si votre application utilise la version 7 de MediaRouter, vous devez passer à la révision 25.2.0 de la bibliothèque Support, qui corrige ce bug.

Changements importants

  • Les clients de widgets RecyclerView imbriqués (par exemple, une liste à défilement vertical de listes à défilement horizontal) peuvent améliorer considérablement les performances en indiquant aux gestionnaires de mise en page des widgets RecyclerView internes le nombre d'éléments à préparer avant qu'ils ne soient défilés à l'écran. Appelez LinearLayoutManager.setInitialPrefetchItemCount(N), où N correspond au nombre de vues visibles par élément interne. Par exemple, si vos listes horizontales internes affichent au moins trois vues d'éléments et demi à la fois, vous pouvez améliorer les performances en appelant LinearLayoutManager.setInitialPrefetchItemCount(4). Cela permet à RecyclerView de créer toutes les vues pertinentes de manière anticipée, tandis que la RecyclerView externe effectue le défilement, ce qui réduit considérablement le nombre de stuttering lors des défilements.
  • Abandon de FragmentActivity.setSupportMediaController() et FragmentActivity.getSupportMediaController(). Veuillez utiliser les nouvelles méthodes statiques MediaControllerCompat.setMediaController() et MediaControllerCompat.getMediaController().
  • Lorsqu'un client spécifie une teinte de widget via la teinte Appcompat (par exemple, appcompat:buttonTint), il est responsable de fournir tous les états nécessaires (tels que "désactivé", "touché", etc.). Ceci est cohérent avec la façon dont les teintes des widgets sont spécifiées lors de l'utilisation de la teinte du framework.

API nouvelles et modifiées

Problèmes résolus

  • L'activation/la désactivation de la visibilité du mot de passe échoue aux tests d'accessibilité.
  • Appcompat ne respecte pas state_enabled sur les appareils antérieurs à la version L.
  • Ajout d'un mécanisme de récupération de la sélection à RecyclerView. Cela a également permis de corriger la prise en charge des fragments de préférences de sélection brisée lors de l'utilisation du pavé directionnel, comme sur les appareils Android TV.
  • Leanback: browseFragment plante avec les en-têtes désactivés et un adaptateur vide.
  • Appcompat: AlertDialog est trop large.
  • InputContentInfoCompat appelle requestPermission() lorsqu'il doit appeler releasePermission().
  • MediaBrowserCompat plantages.
  • CoordinatorLayout mesure/dispose des vues lorsque la visibilité est définie sur GONE.
  • Impossible de teinter AnimatedVectorDrawableCompat au niveau d'API inférieur à 24
  • La bibliothèque Leanback déclenche de fausses erreurs lint
  • La bibliothèque Palette provoque des échecs de test à chaque niveau d'API
  • RecyclerView test ayant échoué sur Leanback
  • RecyclerView plante lors du recyclage des supports de vue (problème AOSP 225762)
  • Fragment.onDestroy() non appelé pour le fragment dans la pile "Retour"
  • Le fond CollapsingToolbarLayout n'est pas dessiné lorsqu'il est réduit
  • CoordinatorLayout.offsetChildByInset() génère IllegalArgumentException
  • L'animation des éléments RecyclerView dissocie les RecyclerView internes et empêche les futurs préchargements
  • Les éléments RecyclerView associés ne peuvent pas être préchargés sous forme imbriquée
  • Les données de préchargement pour les éléments RecyclerView imbriqués sont supprimées lors de la première mise en page
  • Échec du préchargement de RecyclerView si deux événements de déplacement arrivent à la même position
  • RecyclerView devrait effectuer une mise en page spéculative pendant l'affichage de RenderThread
  • Les ressources de couleur configurées pour la nuit et converties en drawables ne sont pas toujours correctement supprimées du cache des ressources.
  • FloatingActionButton : la définition programmatique de BackgroundTintList ne fonctionne pas correctement (problème AOSP 227428)
  • TextInputLayout: la police de caractères n'est pas définie pour ErrorView (problème AOSP 227803).
  • TextInputLayout revient toujours à une couleur d'erreur claire inférieure à l'API 23 (problème AOSP 221992).
  • FloatingActionButton s'affiche lorsqu'un utilisateur appuie sur le pointeur lorsqu'il quitte

La liste complète des corrections de bugs publiques est disponible sur l' outil de suivi des problèmes AOSP.

Abandons

Un certain nombre de méthodes et de classes ont été abandonnées dans cette version. Ces API obsolètes seront supprimées dans une prochaine version, et les développeurs devront cesser de les utiliser. Pour savoir comment ne plus utiliser une API spécifique, consultez sa documentation.

Révision 25.0.1

(novembre 2016)

Problèmes résolus

  • L'activation/la désactivation du mot de passe TextInputLayout est désormais désactivée par défaut pour éviter d'écraser inutilement les drawables finaux spécifiés par le développeur. Vous pouvez l'activer manuellement via l'attribut XML passwordToggleEnabled.
  • Mise à jour des éléments BottomNavigationView, désormais sur une seule ligne afin de respecter les spécifications de Material.
  • RecyclerView plante lors du préchargement si le gestionnaire de mises en page est nul.
  • L'élévation de BottomNavigationView est désormais correctement définie. (problème AOSP 226182).
  • BottomNavigationView plante lors de l'ajout d'éléments de menu par programmation. (problème AOSP 225731).
  • Correction de TextInputLayout : drawables composés à gauche et à droite. (problème AOSP 225836).
  • RecyclerView plante lors du recyclage des conteneurs de vue. (problème AOSP 225762).
  • Grand écran: TalkBack énonce souvent le mot "null" dans les affichages en mode Écran partagé.
  • RecyclerView: problèmes de rendu dans Android Studio. (problème AOSP 225753).
  • BottomNavigationView affiche toujours l'élément de menu sélectionné après que onNavigationItemSelected() renvoie la valeur "false". (problème AOSP 225898).
  • TransmissionListener génère une erreur NoSuchMethodError. (problème AOSP 225647).
  • TextInputEditText n'affiche pas les indications en mode d'extraction IME. (problème AOSP 221880)

La liste complète des corrections de bugs publiques est disponible sur l' outil de suivi des problèmes AOSP.

Révision 25.0.0

(octobre 2016)

Changements significatifs

  • Le constructeur ContextCompat a été protégé. Cette classe ne doit pas être instanciée publiquement, mais elle peut être étendue par les bibliothèques Support ciblant les niveaux d'API les plus récents.
  • Le constructeur ActivityCompat a été protégé. Cette classe ne doit pas être instanciée publiquement, mais elle peut être étendue par les bibliothèques Support ciblant les niveaux d'API les plus récents.
  • getReferrer(Activity) est désormais statique.
  • android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V) a été supprimé. Toutes les implémentations client de cette méthode doivent être supprimées.
  • android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object) a été supprimé. Les utilisations doivent être remplacées par la méthode fromMediaSession(), qui est plus appropriée.
  • Suppression de android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object). Les utilisations doivent être remplacées par la méthode MediaSessionCompat.QueueItem#fromQueueItem, qui est plus appropriée.
  • android.support.v7.widget.Space a été supprimé. Les utilisations doivent être remplacées par android.support.v4.widget.Space.

Nouvelles API

  • La classe android.support.design.widget.BottomNavigationView implémente le modèle de navigation inférieure à partir de la spécification Material Design.
  • Le nouveau package android.support.v13.view.inputmethod inclut des classes permettant d'accéder aux fonctionnalités android.view.inputmethod.InputConnection introduites après le niveau d'API 13.
  • La classe android.v7.widget.RecyclerView.DividerItemDecoration fournit une implémentation de base pour les séparateurs verticaux ou horizontaux entre les éléments.
  • Nouveaux styles décorés dans android.support.v7.app.NotificationCompat, DecoratedCustomViewStyle et DecoratedMediaCustomViewStyle, classes de miroir ajoutées à l'API 24 de la plate-forme.

Problèmes résolus

La liste complète des corrections de bugs publiques est disponible sur l' outil de suivi des problèmes AOSP.

Révision 24.2.1

Septembre 2016

Problèmes résolus :

La liste complète des corrections de bugs publiques est disponible sur l' outil de suivi des problèmes AOSP.

Révision 24.2.0

août 2016

La version 24.2.0 contient les modifications suivantes:

Remarque:La version 24.2.0 supprime la compatibilité avec Android 2.2 (niveau d'API 8) et les versions antérieures. Les classes et les méthodes qui existent uniquement pour diffuser ces versions du système sont désormais marquées comme obsolètes et ne doivent plus être utilisées. Ces classes et méthodes obsolètes pourront être supprimées dans une prochaine version.

Fractionnement de la bibliothèque Support v4

Avec cette version, la bibliothèque Support v4 a été divisée en plusieurs modules plus petits:

support-compat
Fournit des wrappers de compatibilité pour les nouvelles API de framework, telles que Context.getDrawable() et View.performAccessibilityAction().
support-core-utils
Fournit un certain nombre de classes utilitaires, telles que AsyncTaskLoader et PermissionChecker.
support-core-ui
Implémente divers composants liés à l'interface utilisateur, tels que ViewPager, NestedScrollView et ExploreByTouchHelper.
support-media-compat
Rétroporte certaines parties du framework media, y compris MediaBrowser et MediaSession.
support-fragment
Rétroportage du framework de fragment. Ce module dépend de support-compat, support-core-utils, support-core-ui et support-media-compat.

Pour assurer la rétrocompatibilité, si vous répertoriez support-v4 dans votre script Gradle, votre APK inclura tous ces modules. Toutefois, pour réduire la taille du fichier APK, nous vous recommandons de n'indiquer que les modules spécifiques dont votre application a besoin.

Mises à jour de l'API

Changements de comportement

  • Si vous utilisez la fonctionnalité jour/nuit de la bibliothèque Appcompat, le système recrée automatiquement votre activité chaque fois que le mode Jour/Nuit change (en raison de l'heure ou d'un appel à AppCompatDelegate.setLocalNightMode()).
  • Mise à jour de Snackbar, qui s'affiche désormais derrière la barre de navigation si celle-ci est translucide.

Bibliothèque MediaRouter

Les appareils Bluetooth ne sont plus listés comme routages multimédias. Le routage audio vers les appareils Bluetooth est désormais contrôlé uniquement au niveau du système Android.

Abandons

Les classes et les méthodes obsolètes sont susceptibles d'être supprimées dans une prochaine version. Nous vous recommandons de ne plus utiliser ces API dès que possible.

  • Plusieurs méthodes des classes suivantes n'étaient requises que pour l'API 8 ou version antérieure et ne doivent plus être utilisées. Utilisez plutôt les implémentations du framework.
    • android.support.v4.view.KeyEventCompat: remplacer par KeyEvent.
    • android.support.v4.view.MotionEventCompat: utiliser MotionEvent
    • android.support.v4.view.ViewCompat: utiliser View
    • android.support.v4.view.ViewConfigurationCompat: utiliser ViewConfiguration
  • Abandon de AccessibilityServiceInfoCompat.getDescription(), remplacé par AccessibilityServiceInfoCompat.loadDescription(), qui renvoie une description correctement localisée.
  • Vous ne devez pas instancier la classe ActivityCompat directement. La méthode getReferrer(Activity) non statique sera rendue statique dans une prochaine version.
  • CoordinatorLayout.Behavior.isDirty() est obsolète et n'est plus appelé par CoordinatorLayout. Toutes les implémentations ainsi que tous les appels à cette méthode doivent être supprimés.
  • Abandon de MediaSessionCompat.obtain(), remplacé par la méthode fromMediaSession(), qui porte un nom plus approprié.
  • Abandon de MediaSessionCompat.QueueItem.obtain() et remplacement par la méthode fromQueueItem(), qui porte un nom plus approprié.
  • Plusieurs classes abstraites ont été abandonnées et remplacées par des interfaces qui reflètent plus fidèlement leurs équivalents framework.
  • Abandon de CustomTabsSession.setToolbarItem(), remplacé par setSecondaryToolbarViews() basé sur RemoteViews.

Correction de bugs

Les problèmes connus suivants ont été résolus dans la version 24.2.0:

  • Assurez-vous que l'indicateur SwipeRefreshLayout s'affiche lorsque setRefreshing(true) est appelé avant la première mesure (problème AOSP 77712).
  • Blocage du clignotement de TabLayout lors du changement de page (problème AOSP 180454)
  • Éviter ClassNotFoundException lors du démarquage de SavedState à partir du niveau d'API 11 (problème AOSP 196430)

La liste complète des corrections de bugs publiques est disponible sur l' outil de suivi des problèmes AOSP.

Révision 24.1.1

Juillet 2016

Problèmes résolus :

  • Correction d'un problème dans la version 24.1.0 qui affectait les ID de ressources partagés entre les bibliothèques Support. En raison de ce problème, les applications qui dépendaient de bibliothèques Support proposant des ressources (telles que Design et Appcompat) étaient confrontées à des problèmes causés par des incohérences d'ID de ressource.

Révision 24.1.0

Juillet 2016

Modifications apportées à la bibliothèque Support v4:

Problèmes résolus :

  • TabLayout.setCustomView(null) génère une exception NullPointerException (problème AOSP 214753)
  • TabLayout met mal en surbrillance les onglets personnalisés. (Problème AOSP 214316)
  • AppCompatTextHelper utilise un tableau d'attributs mal trié (problème AOSP 214366)
  • Impossible de référencer le VectorDrawable à partir du code XML du conteneur drawable lors de l'utilisation de ContextWrapper personnalisé (problème AOSP 214055)
  • ViewDragHelper.saveLastMotion() génère ArrayIndexOutOfBoundsException (problème AOSP 212945)
  • BottomSheetBehavior étendu à l'ancienne hauteur de contenu lors de l'utilisation de setState(STATE_EXPANDED) (problème AOSP 213660)
  • CollapsingToolbarLayout ne gère pas les enfants épingler comme suit avec des marges supérieure ou inférieure (problème AOSP 213001)
  • Le titre de navigation Leanback n'est pas compatible avec l'alignement de droite à gauche (problème AOSP 213461)
  • PagerTabStrip disparaît en raison d'une annotation héritée manquante (problème AOSP 213359)
  • La liaison de données génère une exception NullPointerException lors de l'utilisation de booléen pour définir des indicateurs conditionnels (problème AOSP 191841)
  • CoordinatorLayout ne répond pas à setFitsSystemWindows() (problème AOSP 212720)
  • BottomSheetBehavior plante lors de la définition de l'état initial (problème AOSP 203114)
  • ViewPager ignore les pages si l'index de page est une valeur élevée (problème AOSP 211734)
  • BottomSheetBehavior ne fonctionne pas avec les mises en page dynamiques (problème AOSP 205226)

Révision 24.0.0

Juin 2016

Modifications apportées à la bibliothèque Support v4:
  • Ajout de Fragment.commitNow() pour le commit synchrone.
  • Ajout de NotificationCompat.MessagingStyle pour les conversations à plusieurs
  • Ajout de NotificationManagerCompat.areNotificationsEnabled() et de getImportance()
  • Mise à jour de MediaSessionCompat, qui reflète désormais la fonctionnalité de MediaSession et n'appelle plus setMediaButtonReceiver() automatiquement.

Remarque:Seul MediaBrowserServiceCompat dans la version 24.0.0 est rétrocompatible avec les futures versions d'Android au-delà de l'API 24. Si vous utilisez des versions antérieures, passez à cette version pour garantir la compatibilité.

Modifications pour la bibliothèque Appcompat v7:
  • Ajout de la prise en charge du référencement d'objets ColorStateList thématiques à partir de XML.
Modifications apportées à la bibliothèque Support Design:
Modifications apportées à la bibliothèque Leanback v17:
  • Ajout de OnboardingFragment pour fournir un flux de configuration et d'accueil à la première exécution
Modifications apportées aux onglets personnalisés:
  • Ajout de la possibilité de fournir une hiérarchie RemoteViews pour la barre d'outils secondaire.
  • Ajout de CustomTabsClient.connectAndInitialize() pour l'échauffement sur une ligne

Révision 23.4.0

Mai 2016

Modifications apportées à la bibliothèque Support v4:
  • Correction d'un problème qui provoquait l'ajout de fragments dans le mauvais ordre. (Problème : 206901)
  • Résolution du problème lié à la barre d'application qui n'était pas dessinée après un défilement hors écran. (problème 178037).
Modifications pour la bibliothèque Appcompat v7:
Modifications apportées à la bibliothèque Support Design:
Modifications apportées à la bibliothèque de drawable vectoriel:

Révision 23.3.0

Avril 2016

Modifications apportées à la bibliothèque Support v4:
  • Ajout de AppLaunchChecker pour vous aider à suivre la façon dont votre application a été lancée par l'utilisateur dans le passé. hasStartedFromLauncher() vous indique si l'utilisateur a déjà lancé votre application depuis l'écran d'accueil ou si elle n'a été lancée que par d'autres moyens (par exemple, pour afficher des URL Web spécifiques).
  • Correction d'une fuite de mémoire dans MediaBrowserServiceCompat.mConnections. (Problème 205220)
  • Correction d'un problème où ViewPager ne tenait pas compte des marges de la page lors du retournement. (Problème : 203816)
  • Fragment.onRequestPermissionsResult() est désormais transmis aux fragments enfants.
Modifications pour la bibliothèque Appcompat v7:
Modifications apportées à la bibliothèque MediaRouter v7:
Modifications apportées à la bibliothèque Preference v7:
Modifications apportées à la bibliothèque recyclerview v7:
Modifications apportées à la bibliothèque Support Design:

Révision 23.2.1

Mars 2016

Modifications apportées à la bibliothèque Support v4:
Modifications pour la bibliothèque Appcompat v7:
  • Annulation de la dépendance aux éléments vectoriels de sorte que les développeurs utilisant la bibliothèque Appcompat ne soient pas obligés d'utiliser VectorDrawable et les indicateurs de compilation associés.
  • Correction d'un problème de compatibilité avec le mode Nuit et le niveau d'API 23. (Problème 201910)
  • Correction d'un problème de compatibilité avec SwitchCompat et le niveau d'API 7. (Problème 201942)
  • Correction d'un problème lié à la propagation des valeurs de configuration dans les objets "Resources". Problème 201928
  • Correction d'un problème de compatibilité où le bouton d'annulation android.support.v7.app.NotificationCompat.MediaStyle devenait invisible à partir du niveau d'API 21. (Problème 202156)
  • Correction d'un plantage de compatibilité avec AppCompatSpinner au niveau d'API 21 et inférieur. (Problème 202246)
  • Correction d'un problème qui empêchait le style app:textAllCaps = "false" de fonctionner. (problème 202117).
  • Correction d'un plantage lors de la restauration de SearchView. (Problème 201836)
  • Correction d'une fuite de mémoire qui se produisait lors de la teinte des ressources drawable avec AppCompat. (Problème 202379)
  • Correction d'un problème lié à KeyEvent au niveau d'API 11 et inférieur. (Problème 202939)
Modifications apportées à la bibliothèque Cardview v7:
Modifications apportées à la bibliothèque recyclerview v7:
Modifications apportées à la bibliothèque MediaRouter v7:
Changements pour la bibliothèque Leanback v17:
  • Correction d'un problème lié à GridLayout.onAddFocusables() qui entraînait la sélection du mauvais élément.
  • Résolution du problème lié aux actions GuidedStepFragment qui disparaissaient après le repli d'une action.
Modifications apportées à la bibliothèque Support Design:
Modifications apportées à VectorDrawableCompat:
  • Correction d'un bug qui provoquait la lecture d'une variable incorrecte pour android:tintMode. (Problème 201907)

Révision 23.2.0

Février 2016

Modifications apportées à la bibliothèque Support v4:
  • Ajout de MediaBrowserCompat pour la prise en charge de MediaBrowser et de MediaBrowserServiceCompat pour la prise en charge de MediaBrowserService. Cela s'avère utile lorsque vous connectez le service d'arrière-plan d'une application multimédia à des composants d'interface utilisateur, et lorsque vous intégrez Android Auto et Android Wear sans nécessiter le niveau d'API 21 ou supérieur.
  • Le système appelle maintenant onActivityResult() pour un élément FragmentActivity imbriqué.
Modifications apportées à la bibliothèque AppCompat v7:
  • Ajout de la fonctionnalité Mode Nuit aux niveaux d'API 14 et supérieurs. Basculez entre les thèmes Material Light et les thèmes sombres Material en fonction de l'heure ou d'un paramètre spécifique à l'application.
    • Les thèmes Jour et Nuit sont disponibles ici: <sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml
    • AppCompatDelegate.setDefaultNightMode(): définit le mode par défaut de l'application en transmettant l'une des constantes suivantes:
      • MODE_NIGHT_AUTO
      • MODE_NIGHT_NO
      • MODE_NIGHT_YES
      • MODE_NIGHT_FOLLOW_SYSTEM
    • AppCompatDelegate.setLocalNightMode(): remplace le paramètre du mode Nuit pour le composant d'application locale.
    • AppCompatDelegate.getDefaultNightMode(): renvoie le mode Nuit par défaut.
Modifications apportées à la bibliothèque MediaRouter v7:
Modifications apportées à la bibliothèque d'aide pour la conception:
  • Ajout de la compatibilité avec les bottom sheets. Un plug-in d'interaction, BottomSheetBehavior, permet à une vue enfant d'un CoordinatorLayout d'agir en tant que bottom sheet. La classe de base, BottomSheetCallback, fournit des rappels permettant de surveiller les événements de bottom sheet.
Modifications apportées à la bibliothèque Support CustomTab:
  • Les onglets personnalisés Chrome permettent désormais aux applications d'inclure une barre inférieure avec des boutons d'action, en plus du bouton d'action supérieur existant.
  • CustomTabsIntent.Builder.addToolBarItem(): ajoute un bouton d'action à un onglet personnalisé. Vous pouvez l'utiliser pour ajouter plusieurs boutons.
  • CustomTabsSession.setToolBarItem(): met à jour les visuels des éléments de la barre d'outils. Cette méthode ne fonctionne que si un ID valide lui est attribué et que la session de navigateur est exécutée au premier plan.
Ajout de la bibliothèque de prise en charge de VectorDrawable:
  • Classes ajoutées:
    • VectorDrawableCompat
    • AnimatedVectorDrawableCompat
  • Ajout de la prise en charge des éléments VectorDrawable dans les applications exécutées au niveau d'API 7 ou supérieur. Les éléments AnimatedVectorDrawable sont également compatibles avec le niveau d'API 11 ou supérieur. Les éléments vectoriels peuvent être considérablement plus petits que les composants Image. Ils devraient aider à réduire la taille de l'application en diminuant la quantité d'éléments requis pour prendre en charge plusieurs écrans d'appareils.
  • Cette bibliothèque est désormais une dépendance de la bibliothèque AppCompat v7, ce qui permet aux développeurs et à AppCompat d'utiliser facilement des drawables vectoriels. Pour utiliser VectorDrawableCompat dans un ImageButton ou une ImageView, utilisez l'attribut XML app:srcCompat ou la méthode setImageResource().
  • Pour continuer à référencer les ID d'attribut à partir du niveau d'API 20, ajoutez l'indicateur appt suivant à votre fichier build,gradle:
    • Si vous utilisez le plug-in Android pour Gradle 1.5.0 ou version antérieure, ajoutez les éléments suivants à votre fichier build.gradle:
    • android {
        defaultConfig {
          // Stops the Gradle’s automatic rasterization of vectors
          generatedDensities = []
        }
         // Flag that tells aapt to keep the attribute ids
        aaptOptions {
          additionalParameters "--no-version-vectors"
        }
      }
      
    • Si vous utilisez le plug-in Android pour Gradle 2.0.0 ou version ultérieure, ajoutez les éléments suivants à votre fichier build.gradle:
    • android {
        defaultConfig {
          vectorDrawables.useSupportLibrary = true
        }
      }
      
Changements pour la bibliothèque Leanback v17:
  • Ajout de fonctionnalités à GuidedStepFragment, un composant qui guide les utilisateurs dans une décision ou une série de décisions:
    • Ajout d'actions de bouton à GuidedAction:
      • GuidedStepFragment.setButtonActions(): définit une liste de boutons GuidedAction que l'utilisateur peut sélectionner dans la vue "Actions".
    • Vous pouvez désormais modifier les champs de description:
      • GuidedAction.Builder.descriptionEditable(): lors de la transmission de true, la description de l'action est modifiable.
      • GuidedAction.getEditDescription(): renvoie la description modifiable au format CharSequence.
    • Ajout de listes déroulantes de sous-actions:
      • GuidedAction.setSubActions(): définit une liste GuidedAction sous la forme d'un menu déroulant de sous-actions.
  • Ajout du widget GuidedDatePickerAction pour la fonctionnalité DatePicker:
    • La date est sélectionnée à l'aide des colonnes Année, Mois et Jour, et possède une plage personnalisable.
    • GuidedDatePickerAction.Builder: classe de compilateur pour l'objet GuidedDatePickerAction.
    • GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat): définissez le format de date souhaité en transmettant la valeur String à trois caractères appropriée, par exemple “YMD” ou “MDY”. Vous pouvez également utiliser l'attribut XML datePickerFormat.
Modifications pour la bibliothèque RecyclerView v7:
  • RecyclerView dispose désormais d'une fonctionnalité facultative appelée AutoMeasure, qui permet à RecyclerView.LayoutManager d'encapsuler facilement du contenu ou de gérer diverses spécifications de mesure fournies par le parent du RecyclerView. Il est compatible avec toutes les fonctionnalités d'animation existantes de RecyclerView.
    • Si vous disposez d'un RecyclerView.LayoutManager personnalisé, appelez setAutoMeasureEnabled(true) pour commencer à utiliser la nouvelle API AutoMeasure. Tous les objets RecyclerView.LayoutManager intégrés activent la mesure automatique par défaut.
    • RecyclerView.LayoutManager n'ignore plus certains paramètres RecyclerView.LayoutParams, tels que MATCH_PARENT dans le sens de défilement.

      Remarque:Ces restrictions levées peuvent entraîner un comportement inattendu dans vos mises en page. Veillez à spécifier les bons paramètres de mise en page.

  • Lors de la mise à jour d'un RecyclerView.ViewHolder avec des informations de charge utile, DefaultItemAnimator désactive désormais les animations de modification.
  • Vous pouvez maintenant modifier la vitesse d'échappement de ItemTouchHelper pour contrôler la sensibilité du balayage. Pour rendre le balayage plus facile ou plus difficile, remplacez getSwipeEscapeVelocity(float defaultValue) et modifiez defaultValue.

Révision 23.1.1

novembre 2015

Modifications apportées à la bibliothèque recyclerview v7 :
  • Correction d'un plantage qui survenait lorsque vous effectuiez une action "Balayer pour fermer" fournie par la classe d'utilitaire ItemTouchHelper, puis que vous ajoutiez un élément. (Problème 190500)
Modifications apportées à la bibliothèque de préférences v7 :
Modifications apportées à la bibliothèque Support Leanback v17 :
  • Correction d'un certain nombre de problèmes internes dans cette bibliothèque.
Modifications apportées à la bibliothèque Design Support :
  • Ajout de la méthode getHeaderView à la classe NavigationView.
  • Correction d'un problème d'arrière-plan transparent pour un objet FloatingActionButton sur les appareils équipés d'Android 4.0 (niveau d'API 15) ou version antérieure. (Problème : 183315)

Révision 23.1.0

octobre 2015

Modifications apportées à la bibliothèque Support v4 :
  • Ajout de la prise en charge de l'interface OnScrollChangedListener dans le widget NestedScrollView. Elle vous permet de recevoir des rappels lorsque la position X ou Y du défilement change.
  • Ajout d'une classe MediaButtonReceiver pour transférer les commandes de lecture reçues à un service qui gère la classe MediaSessionCompat. La classe MediaSessionCompat comporte un constructeur qui peut trouver automatiquement un récepteur de bouton multimédia dans le fichier manifeste. Un récepteur de bouton multimédia est un élément essentiel pour gérer les commandes de lecture à l'aide des commandes matérielles ou Bluetooth.
Modifications apportées à la bibliothèque Appcompat v7 :
  • Ajout des widgets Material Design Seekbar et ImageButton.
  • Mise à jour du widget ImageView pour prendre en charge la fonctionnalité de teinte.
  • Mise à jour de l'apparence du widget SwitchCompat.
Modifications apportées à la bibliothèque MediaRouter v7 :
  • Ajout des fonctionnalités suivantes à la classe MediaRouteChooserDialog:
    • Affiche une page de chargement lors de la recherche des fournisseurs de routages multimédias.
    • Inclut une icône du type d'appareil pour une identification plus facile.
    • Trie les itinéraires en fonction de la fréquence d'utilisation dans l'application actuelle.
    • Il est compatible avec le mode Paysage.
  • Ajout des fonctionnalités suivantes à la classe MediaRouteControllerDialog:
    • Reconnaît la diffusion d'écran et fournit une description appropriée.
    • Accepte différentes tailles et formats de pochettes d'album, et charge l'image de manière asynchrone.
    • Sélectionne automatiquement la couleur du contenu en fonction de la couleur principale de l'application.
    • Permet d'ajuster la mise en page de la boîte de dialogue en fonction de l'espace disponible sur l'écran de l'appareil.
    • Il est compatible avec le mode Paysage.
Modifications apportées à la bibliothèque de palettes v7 :
  • Ajout de la méthode setRegion() pour permettre l'extraction de couleur à partir d'une région spécifique d'un objet Bitmap.
Modifications apportées à la bibliothèque recyclerview v7 :
  • Ajout d'une API d'animation améliorée à la classe ItemAnimator pour de meilleures personnalisations:
    • Les animations de modification n'appliquent plus deux copies de l'objet ViewHolder, ce qui active les animations de contenu d'élément. En outre, l'objet ItemAnimator décide s'il souhaite réutiliser le même objet ViewHolder ou en créer un autre.
    • La nouvelle API d'enregistrement d'informations offre à la classe ItemAnimator la flexibilité nécessaire pour collecter des données au bon moment du cycle de vie de la mise en page. Ces informations sont ensuite transmises aux rappels d'animation.
  • Fournit un plan de transition facile pour cette modification d'API incompatible avec les versions antérieures:
    • Si vous avez déjà étendu la classe ItemAnimator, vous pouvez remplacer votre classe de base par SimpleItemAnimator. Votre code devrait fonctionner comme auparavant. La classe SimpleItemAnimator fournit l'ancienne API en encapsulant la nouvelle API.
    • Certaines méthodes ont été supprimées de la classe ItemAnimator. Le code suivant ne sera plus compilé:
    • Kotlin

      recyclerView.itemAnimator.supportsChangeAnimations = false
      

      Java

      recyclerView.getItemAnimator().setSupportsChangeAnimations(false)
      

      Vous pouvez le remplacer par:

      Kotlin

      val animator: SimpleItemAnimator? = recyclerView.itemAnimator as? SimpleItemAnimator
      animator?.supportsChangeAnimations = false
      

      Java

      ItemAnimator animator = recyclerView.getItemAnimator();
      if (animator instanceof SimpleItemAnimator) {
         ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
      }
      
Modifications apportées à la bibliothèque Preference Support pour les versions v7, v14 et v17:
  • Suppression des API permettant de contrôler les boîtes de dialogue EditText.
Modifications apportées à la bibliothèque Support Leanback v17 :
  • Ajout d'une version de la classe GuidedStepFragment pour la bibliothèque Support (étend android.support.v4.app.Fragment), et amélioration des animations et des transitions.
  • Mise à jour de la classe GuidedStepFragment afin qu'elle puisse être placée au-dessus du contenu existant.
  • Ajout de la possibilité d'annoter différents types d'achèvements de recherche dans la classe SearchFragment.
  • Ajout de la prise en charge de la transition de diapositives décalées à la classe VerticalGridFragment.
Modifications apportées à la bibliothèque Design Support :
  • Ajout de la prise en charge du comptage de caractères au widget TextInputLayout.
  • Ajout de la prise en charge de l'ancrage des bords à la classe AppBarLayout en ajoutant la constante SCROLL_FLAG_SNAP. À la fin du défilement, si la vue n'est que partiellement visible, elle est ancrée et fait défiler l'écran jusqu'à son bord le plus proche.
  • Ajout de la prise en charge des vues personnalisées dans la classe NavigationView à l'aide de l'attribut app:actionLayout ou de la méthode MenuItemCompat.setActionView().
Modifications apportées à la bibliothèque Support pour les onglets personnalisés :
  • Ajout de la méthode enableUrlBarHiding() à la classe CustomTabsIntent. Elle permet au client de personnaliser si la barre d'URL doit être automatiquement masquée lorsque l'utilisateur fait défiler la page vers le bas.
  • Ajout de la méthode setActionButton() à la classe CustomTabsSession. Elle permet au client de modifier l'icône d'un bouton d'action personnalisée dans un onglet personnalisé déjà lancé.
  • Ajout des constantes TAB_SHOWN et TAB_HIDDEN en tant que nouveaux événements pour la méthode onNavigationEvent de la classe CustomTabsCallback.

Révision 23.0.1

Septembre 2015

Modifications apportées à la bibliothèque Preference Support dans les versions v7 et v14:
Modifications apportées à la bibliothèque Appcompat v7 :
  • Correction des problèmes de plantage de la classe Fragment en limitant l'utilisation des couches matérielles à Android 4.1 (niveau d'API 16) ou version ultérieure. (Problème : 183896)
  • Correction d'un problème qui empêchait les boutons physiques de fonctionner lorsqu'une activité avait défini la classe Toolbar pour qu'elle agisse en tant que ActionBar à l'aide de la méthode setSupportActionBar(). (Problème : 183334)
  • Mise à jour de la classe AppCompatDialogFragment pour qu'elle ne génère plus l'erreur Windows feature must be requested before adding content. (Problème : 183186)
Modifications apportées à la bibliothèque Design Support :
Modifications apportées à la bibliothèque Support pour les onglets personnalisés :

Révision 23

Août 2015

Ajout de bibliothèques Support:

Pour obtenir la liste complète des modifications apportées à la bibliothèque Support, consultez le rapport sur les différences entre les API de la bibliothèque Support.

Révision 22.2.1

juillet 2015

Modifications apportées à la bibliothèque Design Support :
  • Ajout des méthodes hide() et show() à la classe FloatingActionButton pour le déclenchement programmatique des animations.
  • Ajout de la constante LENGTH_INDEFINITE à la classe Snackbar pour afficher un snackbar jusqu'à ce qu'il soit fermé ou qu'un autre snackbar s'affiche. Ajout des méthodes setActionTextColor(int) et setActionTextColor(ColorStateList).
  • Ajout de la méthode getSelectedTabPosition() à la classe TabLayout pour récupérer l'onglet actuellement sélectionné.
  • Fournit une API entièrement fluide pour la classe android.support.v7.app.NotificationCompat.MediaStyle afin de chaîner des méthodes.
  • Ajout de méthodes pratiques à RecyclerView pour l'insertion d'éléments par lot.

Pour obtenir la liste complète des modifications apportées à la bibliothèque Support, consultez le rapport sur les différences entre les API de la bibliothèque Support.

Révision 22.2.0

Mai 2015

Ajout de la bibliothèque Design Support :
  • Ajout de TextInputLayout pour afficher l'indice EditText et le texte d'erreur sous forme de libellés flottants.
  • Ajout de FloatingActionButton pour implémenter une action principale sur votre interface en tant que bouton d'action flottant, compatible avec la taille par défaut ou mini.
  • Ajout de Snackbar pour fournir des commentaires légers avec une action facultative dans un snackbar animé
  • Ajout de TabLayout pour implémenter des onglets fixes et à faire défiler, ainsi que pour faciliter l'intégration à ViewPager.
  • Ajout de NavigationView pour implémenter le contenu du panneau de navigation, y compris la possibilité de gonfler des éléments de menu via une ressource de menu.
  • Ajout de CoordinatorLayout, une mise en page à usage général, utilisée pour créer des dépendances entre des vues sœurs et permettre des réactions de défilement faciles entre les composants via CoordinatorLayout.Behavior. De nombreux composants de la bibliothèque de conception reposent sur le fait d'être un enfant d'un CoordinatorLayout.
  • Ajout de AppBarLayout, un conteneur pour Toolbar et d'autres vues (telles que TabLayout) permettant de réagir aux événements de défilement en faisant défiler l'écran, de devenir visible en réaction à un défilement vers le bas, ou de se réduire/retirer avant de faire défiler l'écran.
  • Ajout de CollapsingToolbarLayout pour contrôler le mode de réduction d'une Toolbar. Une barre d'outils peut se réduire en épinglant des composants en haut de l'écran pendant son repli, en introduisant un défilement parallaxe pour des composants tels qu'un ImageView, ou en ajoutant une couleur de fond de contenu lorsque la vue est partiellement réduite.
Modifications apportées à la bibliothèque Support v4 :
Modifications apportées à la bibliothèque Appcompat v7:

Pour obtenir la liste complète des modifications apportées à la bibliothèque Support, consultez le rapport sur les différences entre les API de la bibliothèque Support.

Révision 22.1.0

Avril 2015

Modifications apportées à la bibliothèque d'annotations :
  • Ajout de la bibliothèque Annotations pour permettre les inspections de code améliorées. Les annotations sont ajoutées en tant que balises de métadonnées que vous joignez aux variables, aux paramètres et aux valeurs de retour afin d'inspecter les valeurs de retour, les paramètres transmis, ainsi que les variables et les champs locaux.
Modifications apportées à la bibliothèque Support v4 :
Modifications apportées à la bibliothèque Appcompat v7:
Modifications apportées à la bibliothèque Leanback v17:
Modifications apportées à la bibliothèque recyclerview v7:
Modifications apportées à la bibliothèque de scripts de rendu v8:

Révision 22

Mars 2015

Modifications apportées à la bibliothèque Support v4 :
Modifications apportées à la bibliothèque Appcompat v7:
Modifications apportées à la bibliothèque Leanback v17:
  • Ajout des méthodes getRecycledPoolSize() et setRecycledPoolSize() pour autoriser les tailles de pools recyclées personnalisées.
  • Ajout de l'attribut WRAP_CONTENT au paramètre de largeur de mise en page pour prendre en charge le contenu encapsulé pour les icônes de titre.
  • Définition de R.transition en XML pour améliorer les mises à jour des transitions.
  • Activation de la compatibilité avec les mises en page de droite à gauche.
  • Ajout de la prise en charge des événements de touche multimédia lecture et pause à la classe PlaybackOverlayFragment.
  • Ajout des transitions d'entrée et de retour à la classe BrowseFragment et à la classe DetailsFragment.
  • Ajout de la méthode replace() pour remplacer les éléments du tableau d'adaptateurs d'un objet.
Modifications apportées à la bibliothèque Mediarouter v7:
  • Mise à jour des icônes Google Cast pour utiliser le style Material Design.
  • Mise à jour de toutes les icônes utilisées dans les boîtes de dialogue MediaRouter pour qu'elles utilisent le style Material Design.
Modifications apportées à la bibliothèque recyclerview v7:

Révision 21.0.3

Décembre 2014

Modifications apportées à la bibliothèque Support v4 :

Révision 21.0.2

novembre 2014

Modifications apportées à la bibliothèque Support v4 :
Modifications apportées à la bibliothèque Appcompat v7:
  • Ajout du constructeur PopupMenu pour prendre en charge les nouveaux menus pop-up.
  • Ajout de la prise en charge d'une description de l'icône Réduire dans la classe Toolbar.
  • Mise à jour du widget SearchView pour permettre l'affichage de commitIcon.
  • Suppression de l'attribut buttonGravity de la classe Toolbar.
Modifications apportées à la bibliothèque Cardview v7:
Modifications apportées à la bibliothèque recyclerview v7:
Modifications apportées à la bibliothèque Leanback v17:
  • Ajout de la possibilité de générer des fragments de code v4.
  • Modification de la couleur du texte secondaire dans CardView.

Révision 21.0.1

novembre 2014

Ajout de la bibliothèque de support multidex pour prendre en charge plusieurs fichiers exécutables (Dalvik) afin d'assurer une compatibilité avec les fichiers multidex antérieurs à Android 5.0.

Révision 21

Octobre 2014

Modifications apportées à la bibliothèque Support v4 :
  • Prise en charge des transitions Fragment pour les appareils équipés d'Android 5.0 (niveau d'API 21). Sachez que les transitions n'ont aucun effet sur les appareils équipés d'Android 4.4 ou version antérieure.
  • Ajout de DocumentFile pour faciliter la transition depuis File lorsque vous utilisez des arborescences de documents. Cependant, cette classe nécessite davantage de coûts de traitement que l'API DocumentsContract de la plate-forme ajoutée dans Android 4.4 (niveau d'API 19). Vous devez donc utiliser DocumentsContract sur Android 4.4 ou version ultérieure.
Modifications apportées à la bibliothèque Appcompat v7:
  • Ajout de la compatibilité avec les interfaces utilisateur Material Design.
  • Ajout de Toolbar, qui généralise la fonctionnalité de ActionBar pour une utilisation dans les mises en page d'applications.
  • Mise à jour de ActionBarDrawerToggle, qui contient l'animation entre le menu et la flèche
  • Mise à jour des widgets d'interface utilisateur courants pour permettre les teintes via les attributs de thème sur les appareils antérieurs à Android 5.0.
  • Ajout de SwitchCompat, un rétroportage du widget Switch ajouté dans Android 4.0 (niveau d'API 14).
Nouvelle bibliothèque Cardview v7:
  • Ajout du widget CardView, qui fournit une implémentation compatible avec Material Design pour afficher les éléments de données.
Nouvelle bibliothèque recyclerview v7:
  • Ajout du widget RecyclerView, qui fournit une vue de liste flexible pour fournir une fenêtre limitée dans un ensemble de données volumineux.
Nouvelle bibliothèque de palettes v7:
  • Ajout de la classe Palette, qui vous permet d'extraire les couleurs importantes d'une image.
Nouvelle bibliothèque Leanback v17:

Révision 20

Juillet 2014

Modifications apportées à la bibliothèque Support de la version 4:
  • Ajout de la prise en charge étendue des notifications pour Android Wear dans NotificationCompat.WearableExtender, ce qui vous permet de spécifier des fonctionnalités spécifiques à l'accessoire connecté dans vos notifications.
  • Ajout de NotificationCompat.Action.WearableExtender, qui permet d'ajouter des actions aux notifications sur les accessoires connectés.
  • Ajout de NotificationManagerCompat, qui vous permet d'envoyer des notifications compatibles avec les fonctionnalités des accessoires connectés.
  • Ajout de RemoteInput, qui permet à un appareil portable de recevoir une entrée vocale à partir d'une notification qui s'affiche sur un accessoire connecté.
  • Amélioration de la gestion du retour tactile dans SwipeRefreshLayout.

Révision 19.1.0

Mars 2014

Modifications apportées à la bibliothèque Support de la version 4:
  • Ajout de la classe SwipeRefreshLayout, qui permet aux utilisateurs d'actualiser le contenu d'une vue avec un geste de balayage vertical.
  • Correction des problèmes d'accessibilité liés aux panneaux de navigation.
Modifications apportées à la bibliothèque Appcompat v7:
  • Correction des problèmes d'arrière-plan liés à la barre d'action.

Révision 19.0.1

Décembre 2013

Modifications apportées à la bibliothèque Support de la version 4:
  • Amélioration de PrintHelper grâce à l'ajout de la gestion asynchrone de l'impression.
  • Correction de l'approximation de la classe DrawerLayout de la méthode addChildrenForAccessibility().
  • Correction de la mise en miroir des drawables de diapositives dans ActionBarDrawerToggle.
  • Correction d'un problème d'affichage individuellement lors de la suppression d'un élément d'un itérateur de collection.
Modifications apportées à la bibliothèque MediaRouter v7:
Modifications apportées à la bibliothèque de scripts de rendu v8
  • Ajout de la propagation des erreurs pour la couche de thunking de RenderScript.

Révision 19

Octobre 2013

Modifications apportées à la bibliothèque Support de la version 4:
Modifications apportées à la bibliothèque MediaRouter v7:
  • Ajout de la prise en charge de la mise en file d'attente des contenus multimédias et de la définition des valeurs d'en-tête HTTP et de la durée de lecture des contenus multimédias.
  • Ajout d'actions explicites de démarrage, d'obtention et de fin de session pour gérer explicitement les sessions de lecture de contenus multimédias avec le routeur multimédia.

Révision 18

Juillet 2013

Modifications apportées à la bibliothèque Support de la version 4:
  • Interface utilisateur
    • Ajout de BidiFormatter pour gérer les chaînes de texte qui combinent du texte mis en forme de droite à gauche et de gauche à droite.
    • Modification de ViewPager afin de mieux gérer les cas où le bipeur présente une largeur mesurée de zéro lors du traitement initial de la mise en page.
    • Modification de DrawerLayout et SlidingPaneLayout de façon à ne pas générer d'exceptions pour la mesure pendant la modification du code du projet.
  • Accessibilité
  • Multimédia
    • Ajout de la classe d'assistance TransportMediator pour gérer les commandes de transport multimédia, comme lecture, pause, passer et d'autres actions multimédias.
    • Ajout de DisplayManagerCompat pour gérer la sortie d'affichage sur un ou plusieurs écrans d'appareil.
  • Autres modifications
    • Ajout de la classe d'assistance WakefulBroadcastReceiver pour implémenter un modèle courant permettant de détecter un événement de réveil de l'appareil et de transmettre le travail à un Service, tout en garantissant que l'appareil ne se met pas en veille avant la fin du transfert.
    • Ajout de deux API, commitContentChanged() et rollbackContentChanged(), à AsyncTaskLoader pour faciliter la gestion des mises à jour en arrière-plan pour les modifications de données qui sont ensuite annulées.
Nouvelle bibliothèque Appcompat v7:
  • Ajout de ActionBar pour permettre l'implémentation du modèle de conception de l'interface utilisateur de la barre d'action sur Android 2.1 (niveau d'API 7) ou version ultérieure. Pour utiliser cette classe, vous devez implémenter votre activité en étendant la nouvelle classe ActionBarActivity.
Nouvelle bibliothèque MediaRouter v7:

Ajout d'une bibliothèque MediaRouter compatible avec la Preview développeur de Google Cast. Les API de la bibliothèque MediaRouter v7 permettent de contrôler le routage des canaux multimédias et des flux depuis l'appareil actuel vers des écrans, des enceintes et d'autres appareils de destination externes, avec une compatibilité remontant à Android 2.1 (niveau d'API 7). Pour en savoir plus, consultez la bibliothèque MediaRouter V7.

Les API de la bibliothèque MediaRouter v7 introduites dans la bibliothèque Support r18 sont susceptibles d'être modifiées dans les révisions ultérieures de la bibliothèque Support. Pour le moment, nous vous recommandons de n'utiliser la bibliothèque qu'en association avec la preview développeur de Google Cast.

Révision 13

Mai 2013

Modifications apportées à la bibliothèque Support de la version 4:
Nouvelle bibliothèque de mise en page en grille dans la version 7:
  • Ajout de GridLayout pour prendre en charge l'objet de mise en page GridLayout.
  • Ajout de android.support.v7.widget.Space, qui permet de créer des zones vides dans un objet de mise en page GridLayout.

Révision 12

Février 2013

Modifications apportées à la bibliothèque Support de la version 4:
  • Amélioration du comportement d'interaction pour ViewPager.
  • Correction d'un bug qui pouvait amener ViewPager à sélectionner la mauvaise page.
  • Correction de l'utilisation de la méthode removeView() lors de la mise en page de ViewPager.
  • Correction d'un problème lié à SearchViewCompat où l'utilisation du bouton "Retour" pour ignorer n'effaçait pas le texte de la recherche. Ce correctif ne s'applique qu'aux niveaux d'API hôte 14 et supérieurs.

Révision 11

Novembre 2012

Modifications apportées à la bibliothèque Support de la version 4:
  • Interface utilisateur
    • Ajout de la prise en charge des classes Fragment imbriquées.
    • Ajout d'améliorations au débogage de FragmentManager.
    • Correction d'un problème dans FragmentTabHost où l'interaction entre les fragments et les onglets pouvait entraîner une perte d'état ListView.
    • Correction du problème lié à l'indice visible par l'utilisateur dans FragmentStatePagerAdapter.
    • Ajout de l'interface PageTransformer à ViewPager pour permettre aux applications de fournir un comportement de transition personnalisé pour le défilement.
    • Ajout de fonctionnalités et correctifs à TaskStackBuilder dans la version actuelle.
    • Correction de PagerTitleStrip pour suivre correctement la PagerAdapter actuellement utilisée.
    • Correction des problèmes de scintillement de l'écran, de positionnement et de rognage du texte avec PagerTitleStrip.
    • Correction de PagerTabStrip pour respecter correctement la marge intérieure lors du dessin d'un soulignement.
  • Accessibilité
  • Ajout de la prise en charge des gestes avec GestureDetectorCompat.
  • Ajout de la possibilité d'effectuer des opérations atomiques sur des fichiers à l'aide d'une nouvelle classe AtomicFile.
  • Ajout de la prise en charge de l'ensemble complet des méthodes make dans IntentCompat.
  • Ajout de la méthode trimToSize() dans la classe utilitaire LruCache.
  • Mise à jour de ConnectivityManagerCompat pour obtenir NetworkInfo à partir d'une diffusion CONNECTIVITY_ACTION.

Révision 10

Août 2012

Modifications apportées à la bibliothèque Support de la version 4:
  • Prise en charge des fonctionnalités de notification introduites dans Android 4.1 (niveau d'API 16) avec des ajouts à NotificationCompat.

Révision 9

Juin 2012

Modifications apportées à la bibliothèque Support de la version 4:
  • Compatibilité avec l'interface utilisateur
    • Ajout de la compatibilité avec PagerTabStrip, ce qui offre des fonctionnalités améliorées au-delà de PagerTitleStrip.
    • Correction de plusieurs bugs pour PagerTitleStrip et PagerTabStrip, y compris l'option setAllCaps, l'alignement du titre, l'amélioration de l'apparence, les contraintes de largeur minimale et les problèmes de navigation tactile.
    • Ajout de la prise en charge des gouttières de page ViewPager, ce qui permet à la classe ViewPager de prendre en charge la pagination pour du contenu présentant une grande plage de défilement horizontal, comme une carte.
    • Correction de nombreux bugs pour ViewPager, y compris des problèmes de modification de la taille et de l'ensemble de données, du positionnement des pages, des interactions utilisateur, du suivi du défilement et des problèmes de navigation au clavier.
    • Correction de nombreux bugs pour Fragment, y compris la gestion correcte de onActivityResult() lorsque le fragment cible n'existe plus, la distribution des événements de sélection à des fragments invisibles, l'amélioration du comportement FragmentTransaction.replace() et une meilleure gestion de l'état pour les fragments retirés de la vue.
    • Ajout de la prise en charge de la méthode postOnAnimation() dans ViewCompat.
    • Mise à jour de NavUtils pour utiliser la fonctionnalité de navigation Haut d'Android 4.1 (niveau d'API 16) lorsqu'elle est disponible.
  • Accessibilité
    • Mise à jour des classes d'assistance pour l'accessibilité, y compris AccessibilityNodeInfoCompat, pour suivre les correctifs effectués dans Android 4.1 (niveau d'API 16).
    • Ajout de la prise en charge des actions de défilement d'accessibilité dans ViewPager.
  • Améliorations générales

Révision 8

Avril 2012

Modifications apportées à la bibliothèque Support de la version 4:
  • Correction des indicateurs d'intent pour les objets PendingIntent générés par TaskStackBuilder.
  • Suppression des attributs inutilisés des projets de bibliothèque de mise en page en grille pour que la bibliothèque puisse être créée avec le niveau d'API 7 ou supérieur.
  • Ajout des fichiers .classpath et .project pour le projet de bibliothèque GridLayout.

Révision 7

Mars 2012

Modifications apportées à la bibliothèque Support de la version 4:
  • Ajout de ShareCompat, qui fournit des classes d'assistance pour l'envoi et la réception de contenu pour les applications de partage sur les réseaux sociaux, y compris de nouvelles métadonnées permettant d'attribuer des données partagées à l'application source. Cette classe offre également une intégration compatible avec le nouveau ShareActionProvider dans Android 4.0.
  • Ajout de NavUtils et TaskStackBuilder pour permettre l'implémentation des consignes de conception Android pour la navigation. Ces ajouts incluent la possibilité d'implémenter le bouton Haut de la barre d'action dans toutes les versions. Pour obtenir un exemple d'implémentation de ce modèle, consultez l'exemple AppNavigation dans (<em><sdk></em>/samples/<em><platform></em>/AppNavigation).
  • Ajout de NotificationCompat.Builder pour assurer la compatibilité avec la classe d'assistance Notification.Builder d'Android 3.0 afin de créer des notifications système standardisées.

Révision 6

Décembre 2011

Remarque : La documentation de référence des API de la bibliothèque Support est désormais disponible avec les références du framework, par exemple android.support.v4.app.

Modifications apportées à la bibliothèque Support de la version 4:
  • Modifications apportées à ViewPager :
    • Ajout de la prise en charge des vues décoratives pour ViewPager. Les vues décoratives peuvent être fournies en tant que vues enfants d'un pager dans une mise en page XML.
    • Ajout de PagerAdapter.getPageTitle() pour fournir des chaînes de titre pour les pages. Aucun titre n'est défini par défaut pour chaque page.
    • Ajout de PagerTitleStrip, une bande de titre non interactive qui peut être ajoutée en tant qu'enfant de ViewPager. Les développeurs peuvent fournir l'apparence et la couleur du texte, ainsi que des informations sur le dimensionnement de la mise en page et la gravité.
    • Mise à jour des méthodes PagerAdapter pour prendre des objets ViewGroup plutôt que View afin d'éviter le casting de classe dans les implémentations d'adaptateur.
    • Mise à jour de ViewPager pour utiliser un comportement de glissement d'un geste vif de style Lanceur d'applications.
    • Correction de bugs liés à l'interaction avec l'interface utilisateur et à l'automatisation des tests.
  • Compatibilité avec les fragments :
    • Remplacement de la méthode setStartDeferred() par setUserVisibleHint(boolean).
    • Ajout d'un démarrage différé pour les pages hors écran afin d'améliorer les performances.
  • Compatibilité avec les API d'accessibilité :
    • Mise à jour des méthodes AccessibilityDelegateCompat pour renvoyer des listes vides au lieu de valeurs nulles.
    • Ajout des API nécessaires aux exemples de la version 4.

Révision 5

Décembre 2011

Modifications apportées à la bibliothèque Support de la version 4:

Révision 4

Octobre 2011

Modifications apportées à la bibliothèque Support de la version 4:
  • Ajout de EdgeEffectCompat pour prendre en charge EdgeEffect.
  • Ajout de LocalBroadcastManager pour permettre aux applications de s'inscrire et de recevoir facilement des intents dans une seule application sans les diffuser à l'échelle mondiale.
  • Ajout dans ViewCompat de la possibilité de rechercher et de définir des modes de défilement hors limites pour les View sur Android 2.3 et versions ultérieures.
  • Modifications apportées aux API Fragment :
    • Ajout d'API pour contrôler la visibilité des nouveaux menus.
    • Ajout d'API d'animation personnalisées.
    • Ajout d'API dans FragmentActivity pour conserver des données d'instance personnalisées et non de configuration.
    • Résolution de plusieurs bugs.
  • Correction d'un bug Loader qui entraînait des problèmes d'annulation de AsyncTask lors de leur exécution sur Froyo et d'anciennes versions de la plate-forme. Le code d'assistance utilise désormais sa propre version de AsyncTask pour conserver le même comportement sur toutes les versions de la plate-forme.

Révision 3

Juillet 2011

Modifications apportées à la bibliothèque Support de la version 4:
  • Ajout de la prise en charge de Fragment.SavedState.
  • Ajout de MotionEventCompat pour prendre en charge les API MotionEvent les plus récentes.
  • Ajout de VelocityTrackerCompat pour prendre en charge des API VelocityTracker plus récentes.
  • Ajout de ViewConfigurationCompat pour prendre en charge des API ViewConfiguration plus récentes.
  • Toutes les nouvelles API (disponibles uniquement dans la bibliothèque Support) qui vous permettent de créer des interfaces utilisateur avec pagination horizontale, permettant aux utilisateurs de balayer l'écran vers la gauche ou vers la droite entre les vues de contenu. Les classes compatibles sont les suivantes :
    • ViewPager: ViewGroup qui gère la mise en page des vues enfants que l'utilisateur peut parcourir en balayant l'écran.
    • PagerAdapter: adaptateur qui remplit ViewPager avec les vues représentant chaque page.
    • FragmentPagerAdapter: extension de PagerAdapter permettant d'inverser les fragments.
    • FragmentStatePagerAdapter: extension de PagerAdapter permettant de basculer entre les fragments et utilisant la compatibilité de la bibliothèque avec Fragment.SavedState.
Nouvelle bibliothèque Support v13:
  • Inclut FragmentPagerAdapter et FragmentStatePagerAdapter pour permettre la pagination horizontale.

    Elles sont exactement les mêmes que les API ajoutées à la bibliothèque Support v4, mais reposent sur d'autres composants de plate-forme dans Android 3.2. Utilisez cette bibliothèque à la place de la version 4 si vous développez pour Android 3.2 ou version ultérieure (toutes les autres API de la bibliothèque v4 sont déjà disponibles avec le niveau d'API 13).

Révision 2

Mai 2011

Modifications apportées à la bibliothèque v4:

Révision 1

Mars 2011

Version initiale avec la bibliothèque v4.