La librairie de Google permettant de créer des applications rétro compatible a été mise à jour le mois dernier et apporte énormément de nouveautés.
Android Support Library 23.1
Cette librairie est une collection de librairie disponible pour de nombreuses versions d'API qui permet au développeur de se concentrer sur le développement de son application, grâce aux composants pré-construit, aux nouvelles fonctionnalités et à la compatibilité.
Support V4
Cette librairie s'occupe de la compatibilité avec les anciennes API avec des fixs de compatibilité et des backports de fonctionnalités spécifiques. Android 1.6 et +.
- NestedScrollView permet maintenant de fixer un OnScrollChangeListener pour recevoir des callbacks quand les positions X ou Y du scroll changent.
- Ajout de la class MediaButtonReceiver pour transmettre les commadnes de lectures reçues à un service qui gère la class MediaSessionCompat.
La class MediaSessionCompat a un constructeur qui peut automatiquement trouver un media button receiver dans le manifest.
Un media button receiver est un élément clé pour les contrôles de lecture depuis un hardware ou des contrôles bluettooth.
Support V7
Cette libraire ajoute le support de l'action bar et de différents éléments d'interface Material Design. Android 2.1 et +.
- Ajout des widgets ImageButton et Seekbar material design
- Mise à jour du widget ImageView pour ajouter le support de la fonctionnalité tint
- Mise à jour design du widget SwitchCompat
Media Router
Cette librairie est le composant principal pour la connexion et l'envoie de lecture de média à des appareils distants comme de la vidéo et de l'audio avec le support de Google Cast.
- Ajout de fonctionnalité à la class MediaRouteChooserDialog :
- Affiche une page de chargement pendant la découverte de route vers les fournisseurs de média
- Inclue des icônes de type d'appareil
- Trie les routes par rapport à leur fréquence d'utilisation dans l'application courante
- Support du mode paysage
- Ajout de fonctionnalité à la class MediaRouteControllerDialog
- Reconnait le cast d'écran et fournit sa propre description
- Support de différentes tailles et de ratio de couverture d'albums avec chargement asynchrone
- Sélectionne automatiquement la couleur de base du contenu par rapport à la couleur primaire de l'application
- Ajuste la layout de dialog par rapport à l'espace disponible sur l'écran
- Support du mode paysage
RecyclerView
Ce composant est extrêment puissant et flexible pour afficher sur une liste, grille ou n'importe vue énormément de données. Il supporte des animations lors de l'ajout, la suppression et le repositionnement de ligne.
- Ajout de l'API d'animation ItemAnimator pour une meilleure personnalisations
- Le changement d'animation ne recréera pas deux copies de l'objet ViewHolder mais l'objet ItemAnimator pourra réutiliser un objet ViewHolder existant
- La possibilité à la class ItemAnimator de collecter des données à un moment de son cycle de vie. Cette information est passé en callback.
- Compatibilité
- Une class qui étendait ItemAnimator doit maintenant étendre SimpleItemAnimator. La class SimpleitemAnimator fournit l'ancienne API en englobant la nouvelle API.
- Certaines méthodes ont été supprimé de la class ItemAnimator
Design Support Library
Cette librairie inclue de nombreux composants pour implémenter les dernières spécifications de design.
- Ajout du support de character counting pour le widget TextInputLayout
- Ajout du support de l'edge snapping pour la class AppBarLayout en ajouter la constante SCROLL_FLAG_SNAP.
- Ajout du support des custom views pour la class Navigation View en utilisant l'attribut app:actionLayout ou la méthode MenuItemCompat.setActionView
Custom Tabs Support library
Cette librairie permet à l'application d'utiliser toutes les fonctionnalités du navigateur web comme les cookies, le chargement rapide avec le prefetching, la personnalisation du design et des actions.
- Ajout de la méthode enableUrlBarHiding à la class CustomTabsIntent.
- Ajout de la méthode setActionButton à la class CustomTabsSession
- Ajout des constantes TAB_SHOWN et TAB_HIDDEN comme des nouveaux évènements pour la méthode onNavigationEvent de la class CustomTabsCallback.
Leanback Support Library
La librairie Leanback facilite la construction d'interface pour les TV.
- Ajout une version de la class GuidedStepFragment pour la support library et l'amélioration des animations et des transitions.
- Mise à jour de la class GuidedStepFragment qui peut être placer au dessus du contenu existant
- Ajout du support des transitions slide staggered à la class VerticalGridFragment
Palette Library
Elle permet d'extraire une couleur d'une image.
- Ajout de la méthode setRegion pour supporter l'extraction d'une couleur d'une région spécifique d'un objet bitmap.