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:
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:
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).
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"