La version 5.0 d'Android apporte de nombreux nouveaux composants graphiques, pour un souci de compatibilité la librairie AppCompat a été mise à jour pour les apporter aux plus anciennes versions d'Android.
Le SDK de la dernière version d'Android, Lollipop, apporte de nouveaux composants graphiques qui apportent le Material Design. Ce principe est mis en avant dans Google et devrait être déployé sur la plupart de ses services.
Cependant, comme lors de l'apparition de la version 4 (Ice Cream Sandwitch) qui apportait déjà de nombreux éléments graphiques (action bar, fragment, ...), toutes ces nouveautés ne sont pas disponible sur les précédentes versions d'Android.
Pour résoudre ce problème, Google permet d'intégrer une librairie de compatibilité appelée AppCompat. Cela permet aux développeurs d'utiliser les derniers composants d'Android tout en étant compatible avec les anciennes versions. Avec cette librairie, la compatibilité est assurée depuis la version 2.1 d'Android (Eclair).
Cette nouvelle version apporte donc tous les nouveaux éléments de Material Design (Recycler View, CardView, Palette) et API. Un nouveau widget Toolbar a été introduit, qui donne plus de contrôle et flexibilité à l'Action Bar.
En cas d'utilisation de Gradle, il faut ajouter une dépendance :
compile "com.android.support:appcompat-v7:21.0.+"
Si vous n'utilisez pas encore cette librairie dans votre application, il faut :
getSupportActionBar().getThemedContext()
MenuItemCompat
pour les actions qui appellent le Menu Item
Si elle est déjà intégrée, dans la plupart des cas, il suffit d'ajouter une seule déclaration de thème :
Le support des nouveaux attributs de la color palette theme qui permet de personnaliser le thème pour être à l'image de votre marque avec les primary and accent colors.
Cette nouvelle toolbar est pleinement supporter et il est possible de l'utiliser en action bar ou en standalone (quand l'action bar n'est pas adapté).
L'API SearchView a été mise à jour, ce qui la rend plus personnalisable.