Comment créer un bouton d’action flottant (FAB) dans Android, en utilisant AppCompat v21?

Je voudrais créer un bouton d’action flottant (pour append des éléments à une vue de liste), comme Google Calendar, en maintenant la compatibilité avec les versions d’Android pré-sucette (avant la version 5.0).

J’ai créé cette mise en page:

Activité main_activity.xml:

        

Dessine fab.xml:

     

Style styles.xml

   #ff1d79b1 #ff084d95   

Le résultat est similaire, mais il n’y a pas d’ombrage, une caractéristique de la conception matérielle:

Bouton d’action flottant du calendrier:

Bouton d'action flottant du calendrier

Le bouton d’action flottant de mon application:

Le bouton d'action flottant de mon application

Comment puis-je append l’ombrage à mon bouton?

J’ai déjà utilisé l’élévation d’atsortingbut, mais ne fonctionne pas

Il n’ya plus besoin de créer votre propre FAB ni d’utiliser une bibliothèque tierce, cela a été inclus dans AppCompat 22.

https://developer.android.com/reference/android/support/design/widget/FloatingActionButton.html

Ajoutez simplement la nouvelle bibliothèque de support appelée design in dans votre fichier gradle:

 comstack 'com.android.support:design:22.2.0' 

… et vous êtes prêt à partir:

  

J’ai généralement utilisé des fichiers XML pour créer des ombres / élévations sur un widget pré-sucette. Par exemple, vous pouvez utiliser un fichier xml pouvant être utilisé sur des périphériques pré-sucette pour simuler l’élévation du bouton d’action flottant.

                                                                         

Au lieu de ?attr/colorPrimary vous pouvez choisir n’importe quelle couleur. Voici une capture d’écran du résultat:

entrer la description de l'image ici

Il y a un tas de librairies qui ajoutent un FAB (Floating Action Button) dans votre application. En voici quelques unes.

FAB de makovkastar

FAB Composite FAB

Bibliothèque de conception matérielle comprenant également FAB

Toutes ces librairies sont supscopes sur des périphériques pré-sucette, minimum à api 8

Voici une bibliothèque de boutons d’action flottante supplémentaire gratuite pour Android. Elle possède de nombreuses personnalisations et nécessite la version 9 du kit de développement logiciel (SDK).

entrer la description de l'image ici

Vidéo de démonstration complète

@Justin Pollard Le code XML fonctionne très bien. En parallèle, vous pouvez append un effet d’entraînement avec les lignes xml suivantes.

                

Essayez cette bibliothèque , elle supporte l’ombre, il y a minSdkVersion=7 et supporte aussi l’atsortingbut android:elevation pour API-21 implicitement.

Le message original est ici .

Ajouter un remplissage et une élévation:

  android:elevation="10dp" android:padding="10dp"